概述
集合:集合是存储对象数据的集合容器。
集合比数组的优势:
- 集合可以存储任意类型的对象数据,数组只能存储同一种数据类型 的数据。
- 集合的长度是会发生变化的,数组的长度是固定的。
集合分类
单例集合
Collection 单例集合的根接口。
- List 有序,可重复。
- ArrayList:查询速度快,增删慢。
- LinkedList:增删快,查询慢
- Vector(了解即可)
- Set 无序,不可重复。
- HashSet:存取速度快.
- TreeSet:
双例集合
Map 双例集合的根接口
- Map:存储的数据都是以键值对的形式存在的,键不可重复,值可以重复。
- HashMap
- TreeMap
- HashTable
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
Collection—迭代的方法实例:
toArray()
public static void main(String[] args) {
Collection c = new ArrayList();
c.add("张三");
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()
迭代器的作用:就是用于抓取集合中的元素。
迭代器的方法:
hasNext() 问是否有元素可遍历。如果有元素可以遍历,返回true,否则返回false 。
next() 获取元素…
remove() 移除迭代器最后一次返回 的元素。
NoSuchElementException 没有元素的异常。
出现的原因: 没有元素可以被迭代了。
public static void main(String[] args) {
Collection c = new ArrayList();
c.add("张三");
c.add("李四");
c.add("王五");
c.add("赵六");
Iterator it = c.iterator(); //返回一个迭代器
while(it.hasNext()){
System.out.println("元素:"+ it.next());
}
}