【问题标题】:How to back a generic data structure with an array in Java? [duplicate]如何用Java中的数组支持通用数据结构? [复制]
【发布时间】:2014-05-25 22:10:55
【问题描述】:

我对数据结构有很好的理解,并且可以愉快地在 C++ 中毫无问题地实现它们;由于通用的实现限制,我在 Java 中有些困惑。

具体来说,当我试图创建一个由数组支持的数据结构时,我会感到困惑。例如,我知道我不能这样做:

public class HashTable<T> {
    private T[] table;    
    public HashTable() {
        table = new T[10]; //Type param T cannot be instantiated directly.
    }
}

我也知道,如果我用一个对象数组来支持我的通用数组列表,我将不得不取消一些看起来不正确的“未经检查的强制转换”警告。

在 Java 中创建基于数组的数据结构的最佳方法是什么?除了创建一个直接的对象数组并处理凌乱的转换之外,还有什么技巧可以用来以更简洁的方式完成它吗?

【问题讨论】:

  • 诚然,这是一个很好的重复标志;这个问题完美地回答了我的问题。

标签: java arrays generics data-structures


【解决方案1】:

不要使用原始数组,而是使用ArrayList&lt;T&gt;。它基本上是一个围绕数组的通用包装器,具有许多附加功能。

【讨论】:

  • 感谢您的回复。对不起,我想你误解了我一点:)。我问你如何首先实现像数组列表这样的东西。更多的是理论/面试知识,而不是实际使用。数组列表本身一定已经解决了这个问题;我只是好奇最终最好的方法是什么。
猜你喜欢
  • 1970-01-01
  • 2014-03-22
  • 2011-06-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-13
相关资源
最近更新 更多