两个体系:集合分为两个体系Collection和Map。
三大类:Collection中的Set、List、Queue;Map;
各自的特点:Set无序不可重复集合;List有序可重复集合;Map键值不可重复无序集合。
注:有序无序不是排序,而是指的元素添加的顺序。如果能按照元素添加的顺序输出集合就是有序的,否则无序。
Map是根据key的hash值来存储数据,所以是无序的。例如:
public class CollectionTest2 {
public static void main(String[] args) {
Map<Integer,String> map = new HashMap<>();
map.put(1,"1");
map.put(3,"6");
map.put(2,"3");
map.put(4,"4");
map.put(5,"5");
for (Integer integer : map.keySet()) {
System.out.println("键遍历:"+integer);
}
for (String value : map.values()) {
System.out.println("值遍历:"+value);
}
for (Map.Entry<Integer, String> integerStringEntry : map.entrySet()) {
System.out.println("键值遍历:"+integerStringEntry);
}
}
}
---------------------------------------------------------------------
输出结果:
键遍历:1
键遍历:2
键遍历:3
键遍历:4
键遍历:5
值遍历:1
值遍历:3
值遍历:6
值遍历:4
值遍历:5
键值遍历:1=1
键值遍历:2=3
键值遍历:3=6
键值遍历:4=4
键值遍历:5=5
各自分类:
Set中包括:HashSet、TreeSet等;
List中包括:ArrayList、LinkedList等;
Map中包括:HashMap、TreeMap等。
其中ArrayList、LinkedList、HashMap是线程不安全的,所以速度较快。
集合的两个工具类:Collections和Arrays。
Collections中有一个排序的静态方法----sort。是根据compareTo()方法来进行排序的。
迭代器:Iterator,可以采用统一的方式对集合进行遍历。集合中的迭代器接口Iterable是Collection接口的父接口,也就是说,所有Collection接口中的集合都可以使用Iterator迭代器。