- 集合分为两大接口 Collection 和 Map


- Collection接口 :List Queue Set
- 常用的Collection的实现类
ArrayList 实现 List
LinkedList 实现 List和Queue
HashSet 实现 Set
Set set = new HashSet();
set.add(taidi);
set.add(xuenarui);
Iterator it = set.iterator();
while (it.hasNext()) {
System.out.println(it.next());
}
boolean flag = false;
Iterator it = set.iterator();
while (it.hasNext()) {
Cat c = (Cat)it.next();
String c = (String)it.next();
if (c.getName().equal("taidi")) flag = true;
break;
}
Set<Dog> set = new HashSet<Dog>();
set.add(taidi);
set.add(xuenarui);
Iterator<Dag> it = set.iterator();
while (it.hasNext()) {
System.out.println(it.next());
}
boolean flag = false;
Iterator<Dog> it = set.iterator();
Cat c = null;
it = set.iterator();
while (it.hasNext()) {
c = it.next();
String c = (String)it.next();
if (c.getName().equals("taidi")) {
flag = true;
break;
}
}
- 阿里巴巴设计规约禁止在遍历集合的时候删除集合,因为删除的那一刻会改变集合的数据内存地址分布,是不安全的。解决办法可以是先把要删除的集合元素存进新的集合1里,再使用removeAll(集合1)进行删除。
Set<Dog> tempSet = new HashSet<Dog>();
for (Dog dog : set) {
if (set.getName.contains("a")) tempSet.add(dog);
}
set.remoceAll(tempSet);
- Map没有继承Iterable<>,但是Map内定义了个静态的实现接口Map.Entry的成员,Entry用来映射键值对的集合,其中entrySet()可以将Map的所有元素的键值对组装成一个Set返回,对于这个Set也就有了Iterable<>的方法。