Java:如何创建接受第一个元素列表的列表
当我创建一个Java列表时,我希望头部是一个列表,它应该打印[-1,0],1,2,3,4]还是它的正确形式,它只是将子列表[-1,0]保留为两个独立的元素,比如[-1,0,1,2,3,4],并且,如何获得第一个结构作为aswer
你可以在下面搜索框中键入要查询的问题!
当我创建一个Java列表时,我希望头部是一个列表,它应该打印[-1,0],1,2,3,4]还是它的正确形式,它只是将子列表[-1,0]保留为两个独立的元素,比如[-1,0,1,2,3,4],并且,如何获得第一个结构作为aswer
# 1 楼答案
从你的帖子中,我想你是在问如何在Java中创建一个列表“构造”,它包含列表和非列表元素
在Java中,列表/数组的所有元素都需要具有相同的类型。在您发布的示例(
[[-1,0],1,2,3,4]
)中,元素的类型不尽相同。你有的是:[List<Integer>, Integer, Integer, Integer, Integer]
。第一个是不同的,这在Java中是不允许的所以,您需要做的是使列表/数组的所有元素都是相同的类型
对于列表中只有整数的情况,,最简单的方法是将类型更改为:
[List<Integer>, List<Integer>, List<Integer>, List<Integer>, List<Integer>]
(使用特定值:[[-1,0],[1],[2],[3],[4]]
)。现在的列表不再是List<Integer>
和Integer
,而是只包含List<Integer>
(有些列表碰巧只包含1个元素,但这没关系)这被称为“二维列表”,根据您是想用数组还是
java.util.List
对其进行编码,您可以用以下方式之一对其进行编码:现在,如果您的列表中必须有不同类型的数据,您可以创建一个
Object
列表在Java中,{}是一种所有非原语类型都从中继承的类型。因此,只要某个东西不是原语,它就是一个
Object
,可以放在Object
列表中。这将允许您将任何类型的数据放入列表的元素中。使用Object
可以得到一个相同类型的列表,如下所示:[Object, Object, Object, Object, Object]
。但是,现在Java不知道实际存储在元素中的特定类型,所以在获取它们时需要输入cast下面是一个使用
java.util.List
的示例:由于所有的基本数据类型都是相同的(
Integer
/int
),我建议避免使用Object
列表方法,而是使用2D列表。它更简单,也不容易出错,不需要进行所有这些铸造