Stream 조작 list 집합 사용 하기
26825 단어 JAVA
package com.xiaobu.demo;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;
/**
* @author xiaobu
* @version JDK1.8.0_171
* @date on 2019/4/23 9:34
* @description V1.0
*/
public class StreamDemo {
public static void main(String[] args) {
test3();
test1();
List<String> list1 = new ArrayList<String>();
list1.add("1");
list1.add("2");
list1.add("3");
list1.add("5");
list1.add("6");
List<String> list2 = new ArrayList<String>();
list2.add("2");
System.out.println("=== ===");
List<String> reduce1 = list1.stream().filter(item -> !list2.contains(item)).collect(Collectors.toList());
//
reduce1.parallelStream().forEach(System.out::println);
System.out.println("=== ===");
List<String> reduce2 = list1.stream().filter(list2::contains).collect(Collectors.toList());
reduce2.forEach(System.out::println);
System.out.println("=== ===");
list1.addAll(list2);
List<String> reduce3 = list1.stream().distinct().collect(Collectors.toList());
System.out.println("reduce3 = " + reduce3);
list1 = list1.stream().distinct().sorted().collect(Collectors.toList());
System.out.println("list1 = " + list1);
//Collectors.joining() listStr = 65321
String listStr = list1.stream().distinct().sorted(Comparator.reverseOrder()).collect(Collectors.joining());
System.out.println("listStr = " + listStr);
// listStr = [1,2,3,5,6]
listStr = list1.stream().distinct().sorted().collect(Collectors.joining(",", "[", "]"));
System.out.println("listStr = " + listStr);
}
public static void test1() {
List<Integer> list1 = new ArrayList<>();
list1.add(1);
list1.add(2);
list1.add(3);
List<Integer> list2 = new ArrayList<>();
list2.add(3);
list2.add(4);
list2.add(5);
System.out.println("==== ===");
List<Integer> list = list1.stream().filter(list2::contains).collect(Collectors.toList());
list.forEach(System.out::println);
System.out.println("==== ===");
list = list1.stream().filter(t -> !list2.contains(t)).collect(Collectors.toList());
list.forEach(System.out::println);
System.out.println("==== ===");
list.addAll(list1);
list.addAll(list2);
list = list.stream().distinct().collect(Collectors.toList());
list.forEach(System.out::println);
}
public static void test3() {
List<String> names1 = new ArrayList<String>();
names1.add("Google ");
names1.add("Runoob ");
names1.add("Taobao ");
names1.add("Baidu ");
names1.add("Sina ");
//
Collections.sort(names1, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return o2.compareTo(o1);
}
});
System.out.println("names1 = " + names1);
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JAVA 객체 작성 및 제거 방법정적 공장 방법 정적 공장 방법의 장점 를 반환할 수 있습니다. 정적 공장 방법의 단점 류 공유되거나 보호된 구조기를 포함하지 않으면 이불류화할 수 없음 여러 개의 구조기 파라미터를 만났을 때 구축기를 고려해야 한다...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.