如何在 Java 中的列表中创建一个列表?
How do I make a List within a list in it in Java?
假设我有一个 MySql table:
Number | Squared
2 | 4
3 | 9
4 | 16
5 | 25
在我的 Java 应用程序中,这是我目前拥有的:
List<Integer> finalList = fetchStuff();
log.info(desiredList);
private List<Integer> fetchStuff() {
List<Integer> listToReturn = new ArrayList<Integer>();
List<NameOfClass> desiredList = desiredListRepo.findAll();
for (NameOfClass nameOfClass : desiredList) {
listToReturn.add(nameOfClass.getNumber());
listToReturn.add(nameOfClass.getSquaredNumber());
}
return listToReturn;
}
当我打印 desiredList 时,这是我想要看到的输出:
[[2, 4], [3, 9], [4, 16], [5, 25]]
但目前,我看到:
[2,4,3,9,4,16,5,25]
。我做错了什么?
List<Integer>
是 List
的 Integer
。你想要一个 List<List<Integer>>
,一个整数列表的列表。其工作方式如下:
List<List<Integer>> finalList = fetchStuff();
log.info(desiredList);
private List<List<Integer>> fetchStuff() {
List<List<Integer>> listToReturn = new ArrayList<>();
List<NameOfClass> desiredList = desiredListRepo.findAll();
for (NameOfClass nameOfClass : desiredList) {
List<Integer> inner=new ArrayList<>();
inner.add(nameOfClass.getNumber());
inner.add(nameOfClass.getSquaredNumber());
listToReturn.add(inner);
}
return listToReturn;
}
如果你想要 List
对数字,你可以使用 Map.Entry
:
List<Map.Entry<Integer>> finalList = fetchStuff();
log.info(desiredList);
private List<Map.Entry<Integer, Integer>> fetchStuff() {
List<Map.Entry<Integer>> listToReturn = new ArrayList<>();
List<NameOfClass> desiredList = desiredListRepo.findAll();
for (NameOfClass nameOfClass : desiredList) {
inner.add(nameOfClass.getNumber());
inner.add(nameOfClass.getSquaredNumber());
listToReturn.add(Map.entry(desiredList.getNumber(), desiredList. getSquaredNumber()));
}
return listToReturn;
}
假设我有一个 MySql table:
Number | Squared
2 | 4
3 | 9
4 | 16
5 | 25
在我的 Java 应用程序中,这是我目前拥有的:
List<Integer> finalList = fetchStuff();
log.info(desiredList);
private List<Integer> fetchStuff() {
List<Integer> listToReturn = new ArrayList<Integer>();
List<NameOfClass> desiredList = desiredListRepo.findAll();
for (NameOfClass nameOfClass : desiredList) {
listToReturn.add(nameOfClass.getNumber());
listToReturn.add(nameOfClass.getSquaredNumber());
}
return listToReturn;
}
当我打印 desiredList 时,这是我想要看到的输出:
[[2, 4], [3, 9], [4, 16], [5, 25]]
但目前,我看到:
[2,4,3,9,4,16,5,25]
。我做错了什么?
List<Integer>
是 List
的 Integer
。你想要一个 List<List<Integer>>
,一个整数列表的列表。其工作方式如下:
List<List<Integer>> finalList = fetchStuff();
log.info(desiredList);
private List<List<Integer>> fetchStuff() {
List<List<Integer>> listToReturn = new ArrayList<>();
List<NameOfClass> desiredList = desiredListRepo.findAll();
for (NameOfClass nameOfClass : desiredList) {
List<Integer> inner=new ArrayList<>();
inner.add(nameOfClass.getNumber());
inner.add(nameOfClass.getSquaredNumber());
listToReturn.add(inner);
}
return listToReturn;
}
如果你想要 List
对数字,你可以使用 Map.Entry
:
List<Map.Entry<Integer>> finalList = fetchStuff();
log.info(desiredList);
private List<Map.Entry<Integer, Integer>> fetchStuff() {
List<Map.Entry<Integer>> listToReturn = new ArrayList<>();
List<NameOfClass> desiredList = desiredListRepo.findAll();
for (NameOfClass nameOfClass : desiredList) {
inner.add(nameOfClass.getNumber());
inner.add(nameOfClass.getSquaredNumber());
listToReturn.add(Map.entry(desiredList.getNumber(), desiredList. getSquaredNumber()));
}
return listToReturn;
}