一、Java中String、list和set的相互转化

1、list转string


String str= String.join("','", list);


2、list转set


Set<String> set = new HashSet<>(skuList);


3、set转list、


List<String> list = new ArrayList<>(set);


二、Java中多个集合的交集,并集和差集

1、交集

java中交集使用 A.retainAll(B) ,交集的结果在集合A中。

1    @Test
 2     public void testJJSet() {
 3         Set<String> set1 = new HashSet<>();
 4         Set<String> set2 = new HashSet<>();
 5 
 6         set1.add("a");
 7         set1.add("b");
 8         set1.add("c");
 9 
10         set2.add("c");
11         set2.add("d");
12         set2.add("e");
13 
14         //交集
15       set1.retainAll(set2);
16       System.out.println("交集是 " + set1);  //交集是 [c]
17
18    }

2、并集

并集使用addAll,A.addAll(B) 因为set本身就去重,所有直接全部添加到一个集合中取并集。

1    @Test
 2     public void testAddAllSet() {
 3         Set<String> set1 = new HashSet<>();
 4         Set<String> set2 = new HashSet<>();
 5 
 6         set1.add("a");
 7         set1.add("b");
 8         set1.add("c");
 9 
10         set2.add("c");
11         set2.add("d");
12         set2.add("e");
13 
14         //并集
15       set1.addAll(set2);
16       System.out.println("并集是 " + set1);  
17        
18       //并集是 [a,b,c,d,e]
19    }

2、差集

差集使用removeAll方法,去掉一集合中包含的另一个集合的值。A.removeAll(B)。

1    @Test
 2     public void testCJSet() {
 3         Set<String> set1 = new HashSet<>();
 4         Set<String> set2 = new HashSet<>();
 5 
 6         set1.add("a");
 7         set1.add("b");
 8         set1.add("c");
 9 
10         set2.add("c");
11         set2.add("d");
12         set2.add("e");
13 
14         //差集
15         set1.removeAll(set2);
16         System.out.println("差集是 " + set1);  
17        
18         //并集是 [a,b]
19     }