java中与eclipse中推断泛型类型参数建议相关的ArrayList数组
这个问题是关于arraylist的数组的 当我在eclipse中编写类似的代码时,eclipse给出了关于 a) 推断泛型类型参数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,才能使代码正常工作。
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的泛型类型创建数组。