
java.util包
Collcetion 接口---------------------Iterator迭代器_______|______________________________| |List-----------ListIterator迭代器 Set----------------------------- ---------------------| | | | |ArrayList Linkedllist Vector HashSet SortedSet| |LinkedHashSet TreeSet
Comparable对象排序接口
Comparator对象排序接口
Collcetion容器工具类
Collection接口是 (java.util.Collection)是Java集合类的顶级接口之一
| 类型 | 中文 | 类 | 中文 | 条件 | 优点 | 缺点 | ||
|---|---|---|---|---|---|---|---|---|
| List | 单列 | ArrayList | 列表 | 创建时必须指定数组的大小,不能再改变 | Array容量是定死的 | |||
| List | 单列 | Linkedlist | 链式列表 | |||||
| List | 单列 | Vector | Vector的size会动态增长 | 发生变化时, 其内部的Array必须重新分配并进行拷贝 | ||||
| Set | 单列 | HashSet | ||||||
| Set | 单列 | LinkedHashSet | ||||||
| Set | 单列 | TreeSet | ||||||
| Map | 双列 | HashMap | 需要额外的同步机制 | |||||
| Map | 双列 | LinkedHashMap | ||||||
| Map | 双列 | TreeMap | ||||||
| Hashtable | ||||||||
| Properties |
public void testCollection() {// 创建Collection接口的实现Collection collection = new ArrayList<>();// 添加元素 add()collection.add("嘻嘻");String src = "????";collection.add(src);System.out.println(collection);// 创建Collection的实现Collection<String> coll = new HashSet<>();coll.add("?");coll.add("?");coll.add("?");System.out.println(coll);// 添加一个集合数据 addAll()collection.addAll(coll);// 输出集合的长度 println()System.out.println(collection);// 判断是否包含 contains()System.out.println(collection.contains("?"));// 移除元素 remove()collection.remove("?");// 移除部分元素 removeAll(list);// 添加对象collection.add(new Person("张三", 23, 5000d));// 当认为两个对象属性一致,相等时候 contains()// 需重写hashCode 和 equals方法System.out.println(collection.contains(new Person("张三", 23, 5000d)));//有没有全部都在 containsAll(list)collection.add(null);// 创建Collection接口的实现Collection<String> collection1 = new ArrayList<>();collection1.add("嘻嘻");collection1.add("?");// 求两个集合的交集(只保留collection1存在的元素)collection.retainAll(collection1);System.out.println(collection);// 清空元素clear()collection.clear();System.out.println(collection);}
Iterator iterator = coll.iterator();
不推荐
iterator.next();//一个一个取,取第一个iterator.next();//一个一个取,取第二个
// 或者迭代器的forEachRemaining方法collection.iterator().forEachRemaining(System.out::println);
推荐
while(iterator.hasNext()){System.out.println(iterator.next());}
指针下移,返回值
iterator.remove();//移除,要next后再用
Collection coll = new ArrlyList();for(Object obj:coll){System.out.println(obj);}
for(类型 自定义变量:需要遍历的数组对象)