我应该如何使用 for each 循环遍历二维数组列表
How should i traverse inside two dimensional array list using for each loop
public List<String> findItinerary(List<List<String>> tickets) {
// creating adjencency list
for(String[] ticket : tickets)
{
map.putIfAbsent( ticket[0] ,new PriorityQueue<String>());
map.get(ticket[0]).add(ticket[1]);
}
dfs("JKF");
return path;
}
我正在尝试在此处创建邻接列表,但在遍历票证内的列表时遇到问题。我在使用 for each loop 时遇到了这个错误 "List cannot be converted to String[]
for(String[] ticket : tickets)"
您正在使用 String[]
而您应该使用 List<String>
。将您的代码更改为:
for(List<String> ticket : tickets)
{
map.putIfAbsent(ticket.get(0), new PriorityQueue<String>());
map.get(ticket.get(0)).add(ticket.get(1));
}
更新
如果要转换数组中的 List<String>
,请使用此代码段:
String[] array = new String[ticket.size()];
ticket.toArray(array); // fill the array
我会这样建议。
- 使用 computeIfAbsent 将值放入键中。
- 然后 returns 现有值或刚输入的值。
- 那么插入就不需要查找key了
public List<String> findItinerary(List<List<String>> tickets) {
// creating adjencency list
for(List<String> ticket : tickets) {
map.computeIfAbsent( ticket.get(0), v->new PriorityQueue<String>())
.add(ticket.get(1));
}
dfs("JKF");
return path;
}
至于返回 path
我没有看到它在任何地方定义。
public List<String> findItinerary(List<List<String>> tickets) {
// creating adjencency list
for(String[] ticket : tickets)
{
map.putIfAbsent( ticket[0] ,new PriorityQueue<String>());
map.get(ticket[0]).add(ticket[1]);
}
dfs("JKF");
return path;
}
我正在尝试在此处创建邻接列表,但在遍历票证内的列表时遇到问题。我在使用 for each loop 时遇到了这个错误 "List cannot be converted to String[] for(String[] ticket : tickets)"
您正在使用 String[]
而您应该使用 List<String>
。将您的代码更改为:
for(List<String> ticket : tickets)
{
map.putIfAbsent(ticket.get(0), new PriorityQueue<String>());
map.get(ticket.get(0)).add(ticket.get(1));
}
更新
如果要转换数组中的 List<String>
,请使用此代码段:
String[] array = new String[ticket.size()];
ticket.toArray(array); // fill the array
我会这样建议。
- 使用 computeIfAbsent 将值放入键中。
- 然后 returns 现有值或刚输入的值。
- 那么插入就不需要查找key了
public List<String> findItinerary(List<List<String>> tickets) {
// creating adjencency list
for(List<String> ticket : tickets) {
map.computeIfAbsent( ticket.get(0), v->new PriorityQueue<String>())
.add(ticket.get(1));
}
dfs("JKF");
return path;
}
至于返回 path
我没有看到它在任何地方定义。