问题
* 定义A,B两个集合,
* A集合为1,2,3,4,5,6,2,9。
* B集合为23,6,2,84,6,2,7,9。
* 1.两个集合综合成一个集合从小到大排序,去除重复元素。
* 2.找出集合重复元素放在一个集合内。
* 3.去除B集合中在别的集合出现的元素,得出新的B集合
答案
package com.fangmu.xyx.goudan;
import java.util.*;
public class ListTest {
public static void main(String[] args) {
Integer[] AArray = new Integer[]{1,2,3,4,5,6,2,9};
List<Integer> A = Arrays.asList(AArray);
List<Integer> B = new ArrayList();
B.add(23);
B.add(6);
B.add(2);
B.add(84);
B.add(6);
B.add(2);
B.add(7);
B.add(9);
remove(A,B);
repeat(A,B);
newA(A,B);
}
public static void remove(List<Integer> A, List<Integer> B){
List<Integer> C = new ArrayList();
for (int i = 0; i < A.size(); i++) {
if (!C.contains(A.get(i))){
C.add(A.get(i));
}
}
for (int i = 0; i < B.size(); i++) {
if (!C.contains(B.get(i))){
C.add(B.get(i));
}
}
Collections.sort(C);
System.out.print("从小到大排序,去除重复元素:");
for (Integer c : C) {
System.out.print(c);
System.out.print(",");
}
}
public static void repeat(List<Integer> A, List<Integer> B){
List<Integer> D = new ArrayList();
for (int i = 0; i < A.size(); i++) {
if (B.contains(A.get(i)) && !D.contains(A.get(i))){
D.add(A.get(i));
}
}
Collections.sort(D);
System.out.println();
System.out.print("从小到大排序,重复元素集合:");
for (Integer d : D) {
System.out.print(d);
System.out.print(",");
}
}
public static void newA(List<Integer> A, List<Integer> B){
for (int i = B.size() - 1; i >= 0; i--) {
if (A.contains(B.get(i))){
B.remove(i);
}
}
Collections.sort(B);
System.out.println();
System.out.print("从小到大排序,新的B集合:");
for (Integer b : B) {
System.out.print(b);
System.out.print(",");
}
}
}