/*
集合:集合是存储对象数据的集合容器。
集合比数组的优势:
1. 集合可以存储任意类型的对象数据,数组只能存储同一种数据类型 的数据。
2. 集合的长度是会发生变化的,数组的长度是固定的。
-------| Collection 单例集合的跟接口。
----------| List 如果是实现了List接口的集合类,具备的特点: 有序,可重复。
----------| Set 如果是实现了Set接口的集合类,具备特点: 无序,不可重复。
Collection接口中的方法:
增加
add(E e) 添加成功返回true,添加 失败返回false.
addAll(Collection c) 把一个集合 的元素添加到另外一个集合中去。
删除
clear()
remove(Object o)
removeAll(Collection c)
retainAll(Collection c)
查看
size()
判断
isEmpty()
contains(Object o)
containsAll(Collection<?> c)
迭代
toArray()
iterator()
迭代器的方法:
hasNext() 问是否有元素可遍历。如果有元素可以遍历,返回true,否则返回false 。
next() 获取元素...
remove() 移除迭代器最后一次返回的元素。
*/
public class Demo { public static void main(String[] args) { Collection c = new ArrayList(); c.add("狗娃"); c.add("狗剩"); c.add("铁蛋"); /*//遍历集合的元素------>方式一: 可以使用toArray方法。 Object[] arr = c.toArray(); // toArray() 把集合 的元素存储到一个 Object的数组中 返回。 for(int i = 0 ; i<arr.length ; i++){ System.out.print(arr[i]+","); } //要求使用iterator迭代器遍历。 */ Iterator it = c.iterator(); //返回一个迭代器 疑问:iterator()方法返回的是一个接口类型,为什么接口又可以调用方法可以使用呢? iterator 实际 上返回的是iterator接口的实现类对象。 /* while(it.hasNext()){ // hasNext() 问是否有元素可以遍历。 System.out.println("元素:"+ it.next()); //获取元素 } */ /*it.next(); it.next(); it.remove(); //删除迭代器最后一次返回的元素。 */ //清空集合 的元素 while(it.hasNext()){ it.next(); it.remove(); } System.out.println("集合的元素:"+ c); } }