두 교차로, 노동 조합, 차이 사이의 증기 목록

공공 정적 무효 메인 (문자열 []에 args) { 
일람 <문자열>리스트 1 = 새로운 ArrayList를 ();
list1.add ( "1111");
list1.add ( "2222");
list1.add ( "3333");

목록 <문자열>리스트 2 = 새로운 ArrayList를 ();
list2.add ( "3333");
list2.add ( "4444");
list2.add ( "5555");

//交集
목록 <문자열> 교차 = list1.stream () 필터 (항목 -> list2.contains (항목))를 수집 (Collectors.toList ())..;
에서 System.out.println ( "---得到交集교차로 ---");
. intersection.parallelStream () 대해 forEach (System.out에 ::에 println);

//差集(목록 1 -리스트 2)
목록 <문자열> reduce1 = list1.stream () 필터 (항목 -.!>리스트 2.
에서 System.out.println ( "---得到差集reduce1 (목록 1 -리스트 2) ---");
. reduce1.parallelStream () 대해 forEach (System.out에 ::에 println);

//差集(리스트 2 - 목록 1)
목록 <문자열> reduce2 = list2.stream () 필터 (항목 -> list1.contains (항목)!) 수집 (Collectors.toList ())..;
에서 System.out.println ( "---得到差集reduce2 (리스트 2 - 목록 1) ---");
. reduce2.parallelStream () 대해 forEach (System.out에 ::에 println);

//并集
목록 <문자열> listAll = list1.parallelStream () 수집 (Collectors.toList ()).;
목록 <문자열> listAll2 = list2.parallelStream () 수집 (Collectors.toList ()).;
listAll.addAll (listAll2);
에서 System.out.println ( "---得到并集listAll ---");
. listAll.parallelStream () 대해 forEach (System.out에 ::에 println);


목록 <문자열> listAllDistinct = listAll.stream () DISTINCT ()를 수집 (Collectors.toList ()); ..
에서 System.out.println ( "체중 --- --- 조합 listAllDistinct를 얻을");
listAllDistinct.parallelStream () .forEach (System.out에 ::에 println)

에서 System.out.println ( "--- --- 원래 List1입니다");
. list1.parallelStream () 대해 forEach (System.out에 ::에 println)
시스템. out.println ( "--- --- 원래 목록 2")
. list2.parallelStream () 대해 forEach (System.out에 ::에 println)

대신에 병렬 스트림 parallelStream의 필터 연산 // 사용되는 경우, 일반적으로, 수도 스레드 안전 문제가 원인
  다시 해시 할 대상을 결정 //

}

추천

출처www.cnblogs.com/TimeSay/p/11304792.html