相关疑难解决方法(0)

Java中的链表有快速连接方法吗?

如何通过jdk1.6,google或apache commons集合或其他任何方式将O(1)中的两个链接列表与Java连接起来?例如,在jdk中,只有addAll方法是O(n).

我想念的另一个功能是连接两个列表,其中每个列表可以按相反的顺序排列.为了说明这一点,假设两个列表a-> b-> c和e-> f-> g可以合并为

  1. A-> B-> C-> E-> F->克
  2. A-> B-> C-> G-> F->电子
  3. C-> B-> A-> E-> F->克
  4. C-> B-> A-> G-> F->电子

你知道这样的列表实现还是我必须实现自己的链表?了解如何调整现有解决方案也很有帮助(例如,jdk LinkedList只有很多私有方法).这些功能在我看来非常明显,希望我不会错过一些愚蠢的东西.

正如MicSim指出的那样,在Java中使用Merge两个列表的常量时间是相关的,但不是真正的重复!现在的问题是:

  1. 是否有可能与其他集合库?
  2. 如何连续反转?

java collections linked-list apache-commons guava

20
推荐指数
2
解决办法
8654
查看次数

Java初学者:如何将一个链表链接到另一个?

如果我有:linkedlist1= 1,2,3,4;linkedlist2= 5,6,7;

如果我调用,我能够以这种方式将linkedlist2附加到linkedlist1的末尾:linkedlist2.set(0,9999) 它会变为linkedlist2 = [999,6,7]linkedlist1变为[1,2,3,4,9999,7,8];

那可能吗 ?或者我确实需要另一种结构?

以下代码不起作用:

 List<Double> l1 = new LinkedList<Double>(Arrays.asList(1.0,2.0));
 List<Double> l2 = new LinkedList<Double>(Arrays.asList(3.0,4.0));
 l1.addAll(l2);
 System.out.println(l1);
 l2.set(0, 9.0);
 System.out.println(l1);
Run Code Online (Sandbox Code Playgroud)

OUTPUT:

 [1.0, 2.0, 3.0, 4.0]
 [1.0, 2.0, 3.0, 4.0]
Run Code Online (Sandbox Code Playgroud)

java linked-list

0
推荐指数
1
解决办法
4324
查看次数

标签 统计

java ×2

linked-list ×2

apache-commons ×1

collections ×1

guava ×1