第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
关注
打赏