一、集合类
注:其中Collection、Map、List、Set均为接口,下面红框里的才是具体实现类
1、单列集合Collection
重写了toString()方法
- 实现方式
Collection< E > c = new ArrayList< E >();
Collection父类引用之乡子类对象,E代表集合存储的数据类型,前后两个<>中数据类型务必一致
- 特有方法
- add()
将对应数据类型的变量添加到集合中,将元素默认添加到最后一位
索引从0开始·
Object o = xxxx;
c.add(o);
- addAll(Collection<> c)
将另一个集合中所有元素按照迭代器返回顺序添加到集合中
Collection < E > c1 = new ArrayList<String>();
//c中元素为{”1“ , ”2“ , ”3“}c1中元素为{”a“ , ”b“ , ”c“}
c.addAll(c1)
//addAll之后c中元素为{"1" , "2" , "3" , "a" , "b" , "c"}
-
remove(Object o)
-
contains(Object o)
-
clear()
清空契合中所有对象 -
iterator()
返回一个Iterator类型(迭代器)对象,用来遍历Collection集合
Iterator -
next()返回迭代器指向位置的元素
-
hasNext()迭代器指向位置后面是否还有元素
-
remove()移除此迭代器返回的最后一个元素
-
size()
返回int类型的元素,存储集合中一共有多少个对象
(1)List(元素可重复)
继承了Collection,和Collection相比它的方法中大多都可以使用索引在指定位置对集合进行操作
例如
list.add(1,object);
ListIterator实现了Iterator接口,自己特有add()方法
ListIterator可以add,此时不会出现并发修改异常、还可以指向前面的元素hasPrevious()方法来实现
①ArrayList(底层是数组,查找快,增删满)
②LinkedList(底层是链表,查找满,增删快)
特有方法:底层为链表,特有方法可以对头结点和尾结点操作
- getFirst()
- getLast()
- addFirst()
- addLast()
- removeFirst()
- removeLast()