我有一个List列表字符串,现在我想将其转换为List of List Integer。建议一些方法,如何进行呢?
这是我的代码:
public class convert {
public static void main(String[] args) {
try {
List<List<String>> outerList = new ArrayList<List<String>>();
outerList.add(new ArrayList<String>(asList("11","2")));
outerList.add(new ArrayList<String>(asList("2","1")));
outerList.add(new ArrayList<String>(asList("11","3")));
System.out.println(outerList);
} catch (Exception e) {
e.printStackTrace();
}
}
}
答案 0 :(得分:4)
我建议使用Streams API:
import static java.util.stream.Collectors.toList;
...
integerList = outerList.stream()
.map(innerList->innerList.stream().map(Integer::valueOf).collect(toList()))
.collect(toList());
答案 1 :(得分:3)
您只需尝试这样:
for(String s : yourStringList)
{
intList.add(Integer.valueOf(s));
}
修改
for (List<String> s : yourStringList) {
List<Integer> x = new ArrayList<Integer>();
for (String str: s) {
x.add(Integer.parseInt(str));
}
intList.add(x);
}
答案 2 :(得分:1)
res是新的arrayList包含整数列表。
List<List<Integer>> res = new ArrayList<List<Integer>>();
for(List<String> l : outerList){
ArrayList<Integer> al = new ArrayList<Integer>();
for(String s: l){
al.add(Integer.valueOf(s));
}
res.add(al);
}
答案 3 :(得分:1)
您必须迭代每个subItem
的每个item
。
List<List<String>> stringList = new ArrayList<List<String>>(); // Input
List<List<Integer>> intList = new ArrayList<List<Integer>>(); // Output
for (List<String> item : stringList) {
List<Integer> temp = new ArrayList<Integer>();
for (String subItem : item) {
temp.add(Integer.parseInt(subItem));
}
intList.add(temp);
}