您当前的位置: 首页 >  Java

Java学习路线-36:Set集合

彭世瑜 发布时间:2020-01-04 22:10:21 ,浏览量:2

第30 章 : Set集合 130 Set接口简介

Set集合不允许保存重复数据 继承关系

-@Iterable
    -@Collection
        -@Set
            -@SortedSet
                -@NavigableSet


AbstractCollection(Collection)
    -AbstractSet(Set)
        -HashSet(Set, Cloneable, java.io.Serializable) 
        -TreeSet(NavigableSet, Cloneable, java.io.Serializable)
131 HashSet子类

HashSet元素无序

import java.util.HashSet;
import java.util.Set;

class Demo{
    public static void main(String[] args) {
        Set list = new HashSet();
        list.add("Hello");
        list.add("Hello");
        list.add("World");
        System.out.println(list);
        // [Hello, World]

        list.forEach(System.out::println);
        /**
         Hello
         World
         */

    }
}
132 TreeSet子类

TreeSet数据有序,按照升序排序

import java.util.Set;
import java.util.TreeSet;

class Demo{
    public static void main(String[] args) {
        Set list = new TreeSet();
        list.add("Hello");
        list.add("Hello");
        list.add("World");
        System.out.println(list);
        // [Hello, World]

        list.forEach(System.out::println);
        /**
         Hello
         World
         */
    }
}
133 分析TreeSet子类排序操作

TreeSet 通过TreeMap实现 需要实现Comparable接口 自定义类需要将所有属性进行比对,首选HashSet

import java.util.Set;
import java.util.TreeSet;

class Person implements Comparable {
    private String name;
    private int age;

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    @Override
    public int compareTo(Person other) {
        if (this.age > other.age) {
            return 1;
        } else if (this.age  other.age) {
            return 1;
        } else if (this.age             
关注
打赏
1688896170
查看更多评论
0.0479s