2 min to read
Java
学习Java集合
结构图
疑问
-
List和Map同样数据谁先内存溢出?
-
为什么用foreach遍历list的时候不能移除元素?
List
ArrayList代码样例
package com.java.collection;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
/**
* @Author yudong
* @Date 2018年06月23日 下午12:29
*/
public class ListTest {
public static void main(String[] args) {
//创建一个list集合
List<String> list = new ArrayList<>();
//添加2个元素
list.add("元素1");
list.add("元素2");
//删除一个元素
list.remove("元素1");
//通过下标删除元素
list.remove(0);
//在指定下标添加元素
list.add(0,"元素1");
//通过下标截取指定位置的元素返回一个新的集合
list.subList(0,1);
//通过下标获取指定元素
list.get(0);
//获取集合元素个数
list.size();
//将一个集合元素添加到另外一个集合中
List<String> list1 = new ArrayList<>();
list.addAll(list1);
//将一个集合元素添加到另外一个集合中,从指定下标开始
list.addAll(1,list1);
//判断元素是否存在
list.indexOf("元素1");
//设置指定下标的值
list.set(0,"元素1");
//克隆当前的集合元素到新的集合中,并返回这个集合
((ArrayList<String>) list).clone();
//将当前集合元素转换为Object数据
list.toArray();
//将当前集合元素转换到指定的数组中
String [] str= new String [list.size()];
list.toArray(str);
//遍历集合循环输出,切记在遍历的时候不可以移除元素,否则会抛出错误
list.forEach(s->{
System.out.println(s);
});
//迭代器循环输出集合,在迭代器中可以移除元素
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()){
String string = iterator.next();
iterator.remove();
System.out.println(string);
}
//jdk1.8(Stream)的方法,过滤:返回值为元素1的集合(这里返回的是一个新的集合)
list.stream().filter(s-> s.equals("元素1")).collect(Collectors.toList());
//获取指定值,例如多个User对象中有id和name,放入list中,现在我们只需要name即可用如下方法执行,
//只需要替换成User::getName
list.stream().map(String::toString).collect(Collectors.toList());
}
}