一、去重
@Test
public void test002() {
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(2);
list.add(1);
// jdk8,list去重的方法
List<Integer> collect = list.stream().distinct().collect(Collectors.toList());
for (Integer item : collect) {
log.info("---{}", item);
}
}
二、数组转list
/**
* 数组转list - 方法1
*/
@Test
public void test002() {
Integer arrs[] = new Integer[]{1, 2, 3, 4};
List<Integer> lists = Arrays.asList(arrs);
for (Integer item : lists) {
System.out.println(item);
}
}
/**
* 数组转列表 - 方法2 - 包装类型
*/
@Test
public void test004() {
Integer arrs[] = new Integer[]{1, 2, 3, 4};
List<Integer> list = Stream.of(arrs).collect(Collectors.toList());
for (Integer item : list) {
System.out.println(item);
}
}
/**
* 支持基础类型的方式 - java8 - array转List
*/
@Test
public void test010_0() {
int a[] = {1, 2, 3};
List<Integer> list = Arrays.stream(a).boxed().collect(Collectors.toList());
System.out.println(list);
}
三、list转数组
/**
* list转数组 - 方法1
*/
@Test
public void test003() {
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(1);
Object[] objects = list.toArray();
Integer[] objects2 =list.toArray(new Integer[list.size()]);// 强转类型
for (Object item : objects2) {
System.out.println(item);
}
}
/**
* list转数组 - 方法2
*/
@Test
public void test005() {
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(2);
list.add(1);
/**
* 双冒号:lambda表达式
* IntConsumer aNew = Integer[]::new;
* Integer[]::new : 构造器的引用
* 类名::方法名
*/
Integer[] array = list.stream().toArray(Integer[]::new);
for (Integer item : array) {
System.out.println(item);
}
}