答案 0 :(得分:3)
您在图片中显示的内容可由List
List
或Map
实施。
如果图片中的左侧数字从0
开始并且是连续的数字,则声明List<List<Integer>>
是正确的方法。
您可以这样填充它:
List<List<Integer>> listOfList = new ArrayList<>();
listOfList.add(Arrays.asList(0,1,2,3));
listOfList.add(Arrays.asList(0,1,2,3));
并根据请求的索引检索值:
List<Integer> secondList = listOfList.get(1);
如果图片中的左侧数字不是从0
开始,或者不是连续的数字,则声明Map<Integer, List<Integer>>
是更好的方法。
对于每个整数键,您有一个List
整数。
如果应根据广告订单排序地图,请使用LinkedHashMap
:
Map<Integer, List<Integer>> map = new LinkedHashMap<>();
如果地图应根据其键的自然顺序排序,请使用TreeMap
:
Map<Integer, List<Integer>> map = new TreeMap<>();
当然,您可以使用List
List
来实现它
List<List<Integer>>
但它没那么有意义,也更麻烦。
答案 1 :(得分:0)
我相信你可以在列表概念中使用列表。这里列表的每个元素本身都是一个列表。
List<List<ClassYouWant>> listOfLists = new ArrayList<>();
将数据插入此列表:
List<List<ClassYouWant>> outerList= new ArrayList<>();
List<ClassYouWant> innerList = new ArrayList<>();
outerList.add(innerList );
您也可以使用其他Collection数据结构实现相同的功能,即在Map中的Set或Map中设置。
此外,如果您有一个场景,每个列表可以用唯一值表示,您可以使用Map中的List
Map<AnyClass , List<ClassYouWant>> map = new HashMap<>();
AnyClass - 可以是代表您的类的任何唯一值