set
无序、不重复(可以去除重复)、无索引
HashSet:无序、不重复、无索引
LinkedHashSet:有序、不重复、无索引
TreeSet:可排序、不重复、无索引
set接口方法基本与Collection的API一致。
举例set遍历代码实现
package collection;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
public class SetTest {
public static void main(String[] args) {
Set<String> list = new HashSet<>();
list.add("张三");
list.add("李四");
list.add("王五");
//迭代器遍历
Iterator<String> it = list.iterator();
while(it.hasNext()) {
System.out.println(it.next());
}
}
}
TreeSet两种排序方法:
//比较器排序
package collection;
import java.util.TreeSet;
public class TreeSetTest2 {
public static void main(String[] args) {
//排序方式,比较器排序
TreeSet<String> s = new TreeSet<>((o1,o2)->{
//按照长度排序
int i = o1.length()-o2.length();
//如果一样长则按照首字母排序
i=i==0?o1.compareTo(o2):i;
return i;
});
s.add("c");
s.add("ab");
s.add("df");
s.add("qwer");
System.out.println(s);
}
}
//另一种排序方式
package collection;
import java.util.TreeSet;
public class TreeSettest {
public static void main(String[] args) {
// TODO Auto-generated method stub
//treeset存储整数并进行排序
TreeSet<Integer> list = new TreeSet<>();
list.add(8);
list.add(6);
list.add(7);
System.out.println(list);
}
}