Java学习day_17之集合(List集合)
·
一、Collection
Collection是单列集合的顶层接口,所有方法被List和Set系列集合共享
1.常用成员方法
| 方法名 | 说明 |
|---|---|
| public boolean add(E e) | 添加元素 |
| public void clear() | 清空集合中的元素 |
| public boolean remove(E e) | 从集合中移除指定的元素 |
| public boolean contains(Object obj) | 判断集合中是否存在指定的元素 |
| public boolean isEmpty() | 判断集合是否为空 |
| public int size() | 集合的长度,也就是集合中元素的个数 |
public static void main(String[] args) {
Collection<String> coll = new ArrayList<>();
/*
1.添加元素
*/
coll.add("aaa");
coll.add("bbb");
coll.add("ccc");
System.out.println(coll);
//2.清空
// coll.clear();
// System.out.println(coll);
//3.删除
System.out.println(coll.remove("aaa"));
System.out.println(coll);
//4.判断元素是否包含
boolean result = coll.contains("bbb");
System.out.println(result);
//5.判断集合是否为空
System.out.println(coll.isEmpty());
//6.获取集合长度
System.out.println(coll.size());
}

2.三种遍历方式
2.1 迭代器遍历
迭代器遍历相关的方法
| Iterator iterator() | 获取一个迭代器对象 |
|---|---|
| boolean hasNext() | 判断当前指向的位置是否有元素 |
| E next() | 获取当前指向的元素并移动指针 |
//1.创建集合并添加元素
Collection<String> coll = new ArrayList<>();
coll.add("aaa");
coll.add("bbb");
coll.add("ccc");
coll.add("ddd");
//2.获取迭代器对象
//迭代器类似指针,默认指向集合的0索引处
Iterator<String> it = coll.iterator();
//3.利用循环不断的去获取集合中的每一个元素
while (it.hasNext()){
//4.next方法:获取元素并移动指针
String str = it.next();
System.out.println(str);
}
注意点:
1.结束之后再调用next方法会报错NoSuchException
2.迭代器遍历完毕,指针不会复位
3.循环中只能用一次next方法
4.迭代器遍历时,不能用集合的方法进行增加或者删除
2.2 增强for遍历
格式:
for(集合/数组中元素的数据类型 变量名 : 集合/数组名) {
// 已经将当前遍历到的元素封装到变量中了,直接使用变量即可
}
for (String s : coll) {
System.out.println(s);
}
2.3 lambda表达式遍历
coll.forEach( s -> System.out.println(s));
二、List
List 是 Java 集合框架(java.util.Collection)中的一种有序、可重复的数据结构,允许存储多个元素(包括 null),并通过索引访问元素。
1.List系列集合独有的方法
| void add(int index,E element) | 在此集合中的指定位置插入指定的元素 |
|---|---|
| E remove(int index) | 删除指定索引处的元素,返回被删除的元素 |
| E set(int index,E element) | 修改指定索引处的元素,返回被修改的元素 |
| E get(int index) | 返回指定索引处的元素 |
//1.创建一个集合
List<String> list = new ArrayList<>();
//2.添加元素
list.add("aaa");
list.add("bbb");
list.add("ccc");
//3.打印集合
System.out.println(list);
//在此集合中的指定位置插入指定的元素
list.add(1, "qqq");
System.out.println(list);
//删除指定索引处的元素,返回被删除的元素
System.out.println(list.remove(2));
System.out.println(list);
// 修改指定索引处的元素,返回被修改的元素
System.out.println(list.set(2, "zzz"));
System.out.println(list);
//返回指定索引处的元素
System.out.println(list.get(2));

2.List系列集合的五种遍历方式
- 1.迭代器
- 2.列表迭代器
- 3.增强for
- 4.Lambda表达式
- 5.普通for循环
//创建集合并添加元素
List<String> list = new ArrayList<>();
list.add("aaa");
list.add("bbb");
list.add("ccc");
//1.迭代器
Iterator<String> it = list.iterator();
while (it.hasNext()){
System.out.print(it.next());
}
System.out.println();
//2.增强for
for (String s : list) {
System.out.print(s);
}
System.out.println();
//3.Lambda表达式
list.forEach( s -> System.out.print(s));
System.out.println();
//4.普通for循环
//size方法跟get方法还有循环结合的方式,利用索引获取到集合中的每一个元素
for (int i = 0; i < list.size(); i++) {
String s = list.get(i);
System.out.print(s);
}
System.out.println();
//5.列表迭代器
//获取一个迭代器的对象,里面的指针默认也是指向0索引的
//额外添加了一个方法,在遍历过程中,可以添加元素
ListIterator<String> it1 = list.listIterator();
while (it1.hasNext()){
String str = it1.next();
if ("bbb".equals(str)){
it1.add("qqq");
}
System.out.print(str);
}
System.out.println();

五种遍历方式对比
迭代器遍历 在遍历的过程中需要删除元素,请使用迭代器
列表迭代器 在遍历的过程中需要添加元素,请使用列表迭代器
增强for遍历/Lambda表达式 仅仅想遍历,那么使用增强for或Lambda表达式
普通for 如果遍历的时候想操作索引,可以用普通for
更多推荐




所有评论(0)