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(类型 自定义变量:需要遍历的数组对象)