集合交集在数学上面的定义是:
A 和 B 的交集写作 "A ∩B"。 形式上:
x 属于 A ∩ B 当且仅当
- x 属于 A, 且
- x 属于 B。
在Java集合类List里面也提供了一个内置的方法,求两个List集合的交集。
方法如下:
public boolean retainAll(Collection<?> c)
子类必须实现该方法。
下面是以子类ArrayList为例的一段代码:
01 |
public class ListDemo {
|
02 |
03 |
/**
|
04 |
* @param args
|
05 |
*/
|
06 |
public static void main(String[] args) {
|
07 |
List<String> sList = new ArrayList<String>();
|
08 |
List<String> sList2 = new ArrayList<String>();
|
09 |
sList.add("1");
|
10 |
sList.add("2");
|
11 |
sList.add("3");
|
12 |
sList.add("4");
|
13 |
|
14 |
sList2.add("1");
|
15 |
sList2.add("3");
|
16 |
sList2.add("5");
|
17 |
|
18 |
sList.retainAll(sList2);
|
19 |
|
20 |
for(String s : sList){
|
21 |
System.out.println(s);
|
22 |
}
|
23 |
}
|
24 |
25 |
} |
输出: 1
3