我想存储一个表格的数据结构,该表格包含一列字符串和另一列Ints。
List<Entry<String, Integer>> li = new LinkedList<Entry<String, Integer>>();
会为列表完成工作,但我宁愿有性能并且需要数组的内存。
我试过
Entry<String, Integer>[] = new Entry<String, Integer>[10];
但这似乎不起作用。
Entry是正确的数据类型吗?
答案 0 :(得分:3)
编写一个代表你的元组的类,并使用该类型的数组(或List)。不要避开课程,他们是你的朋友!
你究竟是什么意思“阵列的性能”?数组不一定比List实现更快。
考虑在0位置插入一个元素:LinkedList
可以在O(1)中执行。要在数组中获得相同的效果,您必须执行O(n)操作(重新创建数组并复制所有现有值)。
答案 1 :(得分:2)
如果你真的需要一组泛型类型,你可以这样做:
Entry<String, Integer>[] array = new Entry[10];
但它会为您提供编译警告。你可以在这里阅读更多相关信息:
http://www.devarticles.com/c/a/Java/Wildcards-Arrays-and-Generics-in-Java/2/
答案 2 :(得分:1)
我不知道什么不起作用,但是:
Entry
是一个界面。所以,这个:
Entry<String, Integer>[] = new Entry<String, Integer>[10];
应该是这样的:
Entry<String, Integer>[] entries = new Entry[10];
希望这有帮助!
答案 3 :(得分:1)
也许你可以使用ArrayList,与普通数组相比,性能不应该有太大差异。
答案 4 :(得分:1)
使用此,
List<Entry<String, Integer>> li = new ArrayList<Entry<String, Integer>>();