猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
为什么java同时支持数组和集合?
在Python中,我使用列表来存储集合,而在Java中,有多个选择。如果java只支持集合,会有问题吗?
慕虎7371278
浏览 85
回答 3
3回答
互换的青春
Java中的数组和集合有很多区别,有些是:根据我们的要求,集合在本质上是可增长的。我们可以增加或减少大小。虽然数组的大小是固定的,但一旦我们创建了一个数组,我们就不能根据我们的要求增加或减少。关于内存:更推荐集合,而在性能方面:更建议使用数组。数组只能保存同构元素,但集合可以同时保存同构和异构元素。数组没有现成的方法,但集合具有现成的数据结构和方法。数组可以同时保存基元和包装器对象,但集合只能包含对象。以下是java中的一些集合:import java.util.Map;import java.util.Set;import java.util.SortedSet;import java.util.TreeSet;import java.util.ArrayList;import java.util.Collection;import java.util.HashMap;import java.util.HashSet;import java.util.Iterator;import java.util.LinkedHashSet;import java.util.LinkedList;import java.util.List;public class CollectionExamples { public static void main(String[] args) { List LinkedList = new LinkedList(); LinkedList.add("Linked List Position 1"); LinkedList.add("Linked List Position 2"); LinkedList.add("Linked List Position 3"); LinkedList.add("Linked List Position 4"); displayAll(LinkedList); List arrayList = new ArrayList(); arrayList.add("Array List Position 1"); arrayList.add("Array List Position 2"); arrayList.add("Array List Position 3"); arrayList.add("Array List Position 4"); displayAll(arrayList); Set hashSet = new HashSet(); hashSet.add("Hashset Position 1"); hashSet.add("Hashset Position 2"); hashSet.add("Hashset Position 3"); hashSet.add("Hashset Position 4"); displayAll(hashSet); SortedSet treeSet = new TreeSet(); treeSet.add("TreeSet Position 1"); treeSet.add("TreeSet Position 2"); treeSet.add("TreeSet Position 3"); treeSet.add("TreeSet Position 4"); displayAll(treeSet); LinkedHashSet linkedHashSet = new LinkedHashSet(); linkedHashSet.add("linkedHashSet Position 1"); linkedHashSet.add("linkedHashSet Position 2"); linkedHashSet.add("linkedHashSet Position 3"); linkedHashSet.add("linkedHashSet Position 4"); displayAll(linkedHashSet); Map hashMap = new HashMap(); hashMap.put("hashMapKey1", "hashMapValue1"); hashMap.put("hashMapKey2", "hashMapValue2"); hashMap.put("hashMapKey3", "hashMapValue3"); hashMap.put("hashMapKey4", "hashMapValue4"); displayAll(hashMap.keySet()); displayAll(hashMap.values()); } static void displayAll(Collection col) { Iterator itr = col.iterator(); while (itr.hasNext()) { String str = (String) itr.next(); System.out.println(str); } System.out.println(); }}
0
0
0
茅侃侃
数组是固定大小的数据类型,JVM 支持这些数据类型,并提供随机访问等功能。Collection与数组不同。还有像s这样的集合,它们具有不同的属性。通常,如果要拥有动态可增长列表,请使用。SetArrayList
0
0
0
HUX布斯
集合提供了数组所做的一切,但更多,但有一个例外。性能。看看 ArrayList,它是数组的集合版本。ArrayList 仅支持对象,不支持基元。如果要为每个值创建一个 ArrayList 的 ints,则必须将其自动装箱到 Integer 中,这在性能方面是一个很大的开销。如果您想要的只是一个简单的数据结构来存储一些东西,那么您就不需要在性能上受到打击。但是,如果您需要做一些额外的事情,例如动态调整大小的数组或集合,java可以通过为您提供集合来支持您。
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
Java
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续