Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java中与eclipse中推断泛型类型参数建议相关的ArrayList数组_Java_Arrays_Arraylist - Fatal编程技术网

java中与eclipse中推断泛型类型参数建议相关的ArrayList数组

java中与eclipse中推断泛型类型参数建议相关的ArrayList数组,java,arrays,arraylist,Java,Arrays,Arraylist,这个问题是关于arraylist的数组的 当我在eclipse中编写类似的代码时,eclipse给出了关于 a) 推断泛型类型参数 b) 禁用警告并允许取消选中这部分代码 ArrayList<Integer> [] test = new ArrayList[]; ArrayList[]测试=新建ArrayList[]; 在我的代码中,我需要迭代arraylist并选择数字,我希望这些数字始终表现为int。因此,我必须从Integer对象中获取intValue,才能使代码正常工作。

这个问题是关于arraylist的数组的

当我在eclipse中编写类似的代码时,eclipse给出了关于

a) 推断泛型类型参数
b) 禁用警告并允许取消选中这部分代码

ArrayList<Integer> [] test = new ArrayList[];
ArrayList[]测试=新建ArrayList[];
在我的代码中,我需要迭代arraylist并选择数字,我希望这些数字始终表现为int。因此,我必须从Integer对象中获取intValue,才能使代码正常工作。 这是使用arrayList数组的好主意吗。 我抑制了警告,有时代码运行良好,有时我认为有些问题很难识别

所以,我想知道的是

a) 如果有更好的方法可以做到这一点?

b) 这种方法总是容易出错吗?

获取GNU-Trove基元集合,并使用
TIntArrayList[]
,它可以在没有泛型的情况下实例化

这只使用了大约1/3的内存。基本类型的Java集合是一个性能问题

除此之外,还有什么问题吗

ArrayList<ArrayList<Integer>> test = new ArrayList<>();
ArrayList test=new ArrayList();
这可能效率较低,但不会产生警告,性能也一样

在内部,
ArrayList
将使用
对象[]
进行表示,因此这与使用
对象[]
基本相同。一个
整数
使用16个字节+引用,因此您将使用大约(16+4)/4=5倍的内存(在32位上,根据填充情况,实际上可能“仅”是
int[][]
TIntArrayList[]
的3倍)


然而,对于新手程序员来说,
ArrayList
可能是让数组和泛型数组工作的最简单的方法。

最好使用数组列表而不是数组列表,因为我们必须在定义数组时提供数组的大小

List<ArrayList<Integer>> test=new ArrayList<ArrayList<Integer>>();
List test=newarraylist();

如果您想要原语
int
值,可以使用
intValue()
方法。

我们不应该使用列表界面吗?当我计划使用
get(int)
时,我更喜欢使用
ArrayList
界面,以防止有人将
LinkedList
放在那里并破坏性能。实际上,我几乎没有使用过链表。我们无法为ArrayList的泛型类型创建数组。