集合交集在数学上面的定义是:
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