Day 8
Collection
-
Collection是单列集合的祖宗接口
-
COlletion中的方法
- 添加元素
coll.add(ele)
- List系列永远返回true
- set集合如果已有元素返回flase
- 清空集合
coll.clear()
- 删除元素
coll.remove(ele)
- 判断是否包含
coll.contains(ele)
- 底层使用
equals
方法判断
- 判断集合是否为空
coll.isEmpty()
- 添加元素
-
迭代器(iterator)遍历
//创建iterator对象 Iterator<String> it = list.iterator(); //判断是否有元素 boolean flag = it.hasNext(); //返回当前元素,并移动迭代器 System.out.println(it.next());
-
增强for遍历
- 增强for底层就是迭代器
- 所有的单列集合和数组才能用增强for进行遍历
- 增强for的格式:
for(typename r : arr)
- 改变r的值不改变集合中的元素,除非r是引用
List
-
List中索引操作
-
特点:有序、有索引、可重复
-
添加元素
list.add("aaa")
list.add(1, "aaa")
- 添加到指定索引,后面的元素依次后移
-
删除元素
list.remove(int)
list.remove(Integer)
list.remove()
- 根据int删除是删除索引,根据Integer是删除元素,或者删除上一个
next
返回的元素
-
改变元素
list.set(index, "qqq")
-
ListIterator
ListIterator<String> it = list.listIterator()
- 基本方法和Collection中的方法相同
- 增加了一个add方法
it.add("qqq")
在当前位置加入一个元素- 使用迭代器时不能改变list的长度
泛型
- 可以在添加数据的时候对泛型类型进行统一
- Java中的泛型是伪泛型
- 泛型的细节
- 泛型中不能写基本数据类型
- 在指定泛型的具体类型后,可以传入该类类型或者其子类类型
- 如果不写泛型,类型默认是Object
- 泛型的类型和通配符
<? extends E>
表示传递的类必须继承E类型<? super E>
表示传递的类必须是E的祖先- 其中E是具体的类