如何在Java中使用HashSet求交集
在Java中,HashSet是一種常見的數(shù)據(jù)結(jié)構(gòu),它具有無序無重復(fù)的特點(diǎn)。本文將介紹如何使用HashSet來求兩個(gè)集合的交集。創(chuàng)建HashSet對(duì)象要使用HashSet來求交集,首先需要?jiǎng)?chuàng)建兩個(gè)Has
在Java中,HashSet是一種常見的數(shù)據(jù)結(jié)構(gòu),它具有無序無重復(fù)的特點(diǎn)。本文將介紹如何使用HashSet來求兩個(gè)集合的交集。
創(chuàng)建HashSet對(duì)象
要使用HashSet來求交集,首先需要?jiǎng)?chuàng)建兩個(gè)HashSet對(duì)象并向其添加元素??梢酝ㄟ^以下方式創(chuàng)建一個(gè)名為的新類:
```java
public class HashSetIntersection {
public static void main(String[] args) {
// 創(chuàng)建第一個(gè)HashSet對(duì)象set1,并添加元素
Set
(100);
(200);
(300);
(400);
// 創(chuàng)建第二個(gè)HashSet對(duì)象set2,并添加元素
Set
(200);
(300);
(400);
(500);
(600);
}
}
```
以上代碼中,我們分別創(chuàng)建了兩個(gè)HashSet對(duì)象set1和set2,并向其添加了不同的整數(shù)元素?,F(xiàn)在我們已經(jīng)準(zhǔn)備好了兩個(gè)集合,接下來需要將它們求交集。
使用retainAll方法求交集
在Java中,HashSet提供了retainAll()方法來求兩個(gè)集合的交集。這個(gè)方法會(huì)修改當(dāng)前HashSet對(duì)象,使其只包含與另一個(gè)集合相同的元素。
在上面的代碼中,我們已經(jīng)創(chuàng)建了兩個(gè)HashSet對(duì)象set1和set2?,F(xiàn)在,我們可以通過調(diào)用set1的retainAll()方法,傳入set2作為參數(shù),來計(jì)算兩個(gè)集合的交集。代碼如下:
```java
// 調(diào)用set1的retainAll()方法,計(jì)算兩個(gè)集合的交集
(set2);
```
此時(shí),set1就是兩個(gè)HashSet的交集了。我們可以通過調(diào)用set1的iterator()方法來遍歷其中的元素并打印出來。代碼如下:
```java
// 遍歷set1中的元素并打印
Iterator
while (iterator.hasNext()) {
(());
}
```
完整代碼如下:
```java
public class HashSetIntersection {
public static void main(String[] args) {
// 創(chuàng)建第一個(gè)HashSet對(duì)象set1,并添加元素
Set
(100);
(200);
(300);
(400);
// 創(chuàng)建第二個(gè)HashSet對(duì)象set2,并添加元素
Set
(200);
(300);
(400);
(500);
(600);
// 調(diào)用set1的retainAll()方法,計(jì)算兩個(gè)集合的交集
(set2);
// 遍歷set1中的元素并打印
Iterator
while (iterator.hasNext()) {
(());
}
}
}
```
運(yùn)行程序,輸出結(jié)果為:
```
200
300
400
```
這就是兩個(gè)HashSet集合的交集了??梢钥闯?,我們成功地使用了HashSet來求兩個(gè)集合的交集。