3 回答
TA贡献1797条经验 获得超6个赞
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();
}
}
TA贡献1842条经验 获得超21个赞
数组是固定大小的数据类型,JVM 支持这些数据类型,并提供随机访问等功能。
Collection
与数组不同。还有像s这样的集合,它们具有不同的属性。通常,如果要拥有动态可增长列表,请使用。Set
ArrayList
添加回答
举报