gpt4 book ai didi

java - 是否有允许间隙的列表实现?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:17:19 25 4
gpt4 key购买 nike

我正在寻找一个集合,该集合将是某种允许间隙的列表。目标是:

  • 每个元素在集合中都有一些有意义的索引。
  • 集合是稀疏的而不是连续的;它的大小应该返回适​​当元素的数量,因此使用 null 进行初始化的解决方法将不起作用。
  • subList 方法是根据索引间隔访问子列表的理想方法

示例用例:

List<Integer> list = /* ? */;
list.add(0,5);
list.add(1,4);
list.add(5,3);
for( Integer i : list )
{
System.out.print( i + " " );
}
/* desired output : "5 4 3 "*/

最佳答案

使用 Map<Integer,Integer> .键是您的索引,值是列表的值。

对于您的 subList 要求,可能是 TreeMap<Integer,Integer>会起作用,因为它使键保持排序并使迭代子列表变得容易。

当然,这意味着您不能使用 List界面。如果必须使用 List界面,你可以自己制作ListTreeMap 支持的实现(例如,list.add(5,3) 会调用 map.put(5,3))。

关于java - 是否有允许间隙的列表实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27360730/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com