public interface Collection<E> extends Iterable<E>
{
public static void main(String[] args) {
List list = new ArrayList();
//add 添加单个元素
list.add("jack");
list.add(10); //本质 list.add(new Integer(10))
list.add(true);
System.out.println("list="+list);
//remove删除指定元素
// list.remove(0); //下标
list.remove(true); //指定删除某个元素
System.out.println("list="+list);
//contains 查找元素是否存在
System.out.println(list.contains("jack"));
//size 获取元素个数
System.out.println(list.size());
//isEmpty 判断是否为空
System.out.println(list.isEmpty());
//clear 清空
list.clear();
System.out.println("list="+list);
//addAll 添加多个元素
ArrayList list2 = new ArrayList();
list2.add("红楼梦");
list2.add("三国");
list.addAll(list2);
System.out.println("list="+list);
//containsAll 查找多个元素是否存在
System.out.println(list.containsAll(list2));
list.add("聊斋");
//removeAll 删除多个元素
list.removeAll(list2);
System.out.println("list="+list);
}
}
Iterator iterator = col.iterator();
Collection col = new ArrayList();
col.add(new Book("三国演义","罗贯中",10.1));
col.add(new Book("小李飞刀","古龙",5.1));
col.add(new Book("红楼梦","曹雪芹",34.6));
System.out.println("col="+col);
//希望遍历col集合
//1 先得到col对应迭代器
Iterator iterator = col.iterator();
//2 使用while循环遍历
while (iterator.hasNext()){ //是否还有数据
//返回下一个元素类型是object
Object obj = iterator.next();
System.out.println("obj="+obj);
}
iterator=col.iterator();
Collection col = new ArrayList();
col.add(new Book("三国演义","罗贯中",10.1));
col.add(new Book("小李飞刀","古龙",5.1));
col.add(new Book("红楼梦","曹雪芹",34.6));
//1使用增强for 在Collection集合
//2 增强for 底层仍然是迭代器
//3 增强for 可以理解为简化版的迭代器遍历
for(Object book:col){
System.out.println("book="+book);
}
//增强for也可以用在数组上
int[] nums={1,8,10,90};
for (int i :nums){
System.out.println("i="+i);
}
Dog d1 = new Dog("小黑", 5);
Dog d2 = new Dog("小白", 6);
Dog d3 = new Dog("小黄", 4);
List list = new ArrayList();
list.add(d1);
list.add(d2);
list.add(d3);
Iterator iterator = list.iterator();
while(iterator.hasNext()){
Object obj = iterator.next();
System.out.println("obj="+obj);
}
System.out.println("==========");
for (Object o : list) {
System.out.println("o="+o);
}
对于List: 可以使用Vector,工具类Collections. synchronizedList()方法,但推荐: CopyOnWriteArrayList。
对于Set: 使用CopyOnWriteArraySet。
对于Map: 使用ConcurrentHashMap hashTable是线程安全的 hashMap是线程不安全的。