gpt4 book ai didi

java - 如何从 List> 集合中创建迭代器?

转载 作者:行者123 更新时间:2023-11-30 01:51:03 24 4
gpt4 key购买 nike

我试图制作 List<HashSet<Integer>> list = new ArrayList<>() 的迭代器.

但是,我一直在跌倒。

这是我尝试过的迭代器 Iterator<HashSet<Integer>> iterator = new list.iterator()

请有人帮助我:(

如何创建该集合的迭代器?

这是代码的一部分

public class Test {
private static List<HashSet<Integer>> basketList = new ArrayList<>();
private static Map<Integer, Integer> map = new HashMap<>();

public static void settingBasket(String fname) throws FileNotFoundException {
Scanner scan = new Scanner(new File(fname));
int n = Integer.parseInt(scan.next());
Iterator<HashSet<Integer>> iter = basketList.iterator(); // error
for(int i=0; i<n; i++) {
scan.next();
int m = Integer.parseInt(scan.next());
HashSet<Integer> elems = new HashSet<>();
for(int j=0; j<m; j++)
elems.add(Integer.parseInt(scan.next()));
basketList.add(elems);
}
}
public static void settingPair() {
int size = basketList.size();
for(int i=0; i<size; i++) {
Iterator<HashSet<Integer>> iter = basketList.iterator(); // error
}
}

最佳答案

您可以使用嵌套循环简单地对列表中的集合进行交互,如下所示:

for (HashSet<Integer> set : basketList) {
for (Integer i : set) {
System.out.println(i);
}
}

或者,如果您想为列表中的每个集合都有一个迭代器,您可以按如下方式操作:

for (int i = 0 ; i < basketList.size(); i++) {
Iterator<Integer> iter = basketList.get(i).iterator();
...
}

或者:

for (HashSet<Integer> set : basketList) {
Iterator<Integer> iter = set.iterator();
...
}

关于java - 如何从 List<HashSet<Integer>> 集合中创建迭代器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56058095/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com