如何在 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>ListInteger。你想要一个 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;
}