我们如何使用Java类中允许我们这样做的列表
如何使用Java库中的列表来插入任何索引。我尝试使用ArrayList,但不起作用。例如,我想在索引50、40、60处插入。但不是从0开始。因为我知道您必须从0开始,对吗?如果有一种方法可以区分ArrayList中的对象是否“无用”(例如,该对象的一个附加布尔字段指示这一点),那么我们可以首先在列表中添加非空但“无用”的对象,然后使用我们如何使用Java类中允许我们这样做的列表,java,list,libraries,Java,List,Libraries,如何使用Java库中的列表来插入任何索引。我尝试使用ArrayList,但不起作用。例如,我想在索引50、40、60处插入。但不是从0开始。因为我知道您必须从0开始,对吗?如果有一种方法可以区分ArrayList中的对象是否“无用”(例如,该对象的一个附加布尔字段指示这一点),那么我们可以首先在列表中添加非空但“无用”的对象,然后使用add(int index,e element)插入“有用”的对象到任何索引。如果您希望能够在任何位置插入,您可以选择如何执行类似操作。第一种方法是插入nulls,
add(int index,e element)插入“有用”的对象
到任何索引。如果您希望能够在任何位置插入,您可以选择如何执行类似操作。第一种方法是插入null
s,直到列表填充到所需的位置。不过这会很尴尬,所以我不推荐这样做
我的建议是放弃将其作为列表的要求。您所描述的内容听起来更像是一张地图
,而不是一张列表
。因此,我建议您使用树形图
不要使用list.add(index,item)
,而是使用map.put(index,item)
。这可能会实现您想要的功能,具体取决于您想使用它的硬件。而且,由于TreeMap
根据其键的自然顺序保持顺序,因此对其进行迭代将与使用列表时的顺序相同
如果您真的愿意,您甚至可以编写自己的List
实现,它封装了TreeMap
。这将满足你的要求,尽管我真的认为这是个坏主意。这样做对于列表
,将是非常不典型的,并且可能会在需要常规列表
的代码中导致一些问题。您是否希望在不填充索引的情况下,在任何位置插入列表?是的。另外,例如,我插入索引5和10,因此大小将为2。我不想扩展大小,因为这样做效率不高,对我也不起作用;仍然不起作用请不要在评论中添加信息,使用“编辑”将其放入问题中。这听起来像是一个错误。愿意与我们分享,你想实现什么?是的,我肯定会这样做,但规格要求我返回一个列表,其中包含指定索引中的数据。是的,但这会增加我不想看到的大小do@Sleek13你所说的“大小”是什么意思?你是说插入一个元素会增加列表的大小吗(比如,从50到51),或者你是指列表的内存使用情况?