一Collection
因为数组的一些局限性,所以引出了集合,集合也是一种容器,但是集合却属于包容性强的容器,不限定长度,不限定类型,还可以储存应用类型,使用范围更广
Collection有两个子接口,list和set,在`两个接口下分别有对应的子实现类,
list对应的是ArrayList Vector Linked
ListList集合的特点: 有序的 (存储和取出一致),可以允许重复元素
set对应的是HashSet TreeSet
Set集合的特点: 无序性(不能保证迭代的顺序,基于hashMap),并且元素不能重复
Collection的基本功能
boolean add(Object e) | 添加功能 |
void clear() | 删除集合中所有元素(暴力删除) |
boolean remove(Object o) | 删除集合中的指定元素 |
boolean contains(Object o) | 集合中是否包含指定的元素 |
int size() | 获取集合中的元素数 |
boolean retainAll(Collection c) | 交集功能: A集合对B集合取交集元素 |
boolean removeAll(Collection c) | 删除一个集合中所有元素(删除一个算是删除) |
boolean addAll(Collection c) | 添加一个集合中的所有元素 |
boolean containsAll(Collection c) | 包含所有元素 |
boolean retainAll(Collection c) | 交集功能: A集合对B集合取交集元素 |
解释:A集合对B集合取交集,交集的元素要去A集合中,boolean返回值表达的A集合的元素是否发生变化,如果发生变化,则返回true,否则,返回false
list的基本方法
void add(int index,Object element) | 在指定位置处添加指定元素 |
Object get(int index) | 返回列表中指定位置的元素 |
ListIterator listIterator() | 列表迭代器 |
Object set(int index, Object element) | 用指定element元素替换掉指定位置处的元素 |
转换功能:
二.Iterator迭代器
Iterator是一个接口,刻意通过集合获取迭代器,Iterator it = c.iterator();
bollean hasNext() |
如果有元素可以迭代,那么返回true,否则返回false |
Object next() |
返回迭代的下一个元素 |
void remove() | 从迭代器指向的 collection 中移除迭代器返回的最后一个元素 |
package day12; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; //迭代器 public class Iterator1 { public static void main(String[] args) { //用ArrayList创建集合对象 Collection c=new ArrayList(); //给集合添加字符串 c.add("abc"); c.add("java"); c.add("hello"); //集合c通过.iterator()方法类获取迭代器,且用Iterator接口类接收 Iterator it=c.iterator(); //迭代器循环 while(it.hasNext()) { Object ob=it.next(); System.out.println(ob); } } }
输出结果
abc
java
hello
迭代器总结,迭代器可以简化遍历的书写,更加直观,但是迭代器中的next()方法只能使用一次