概述
集合可以看作是一個容器。對於集合中的各個對象可以很容易將其存放到集合中,也很容易從集合中取出來,還可以按照一定的順序進行擺放。Java中提供了不同的集合類,這些集合類具有不同的存儲對象方式,並提供了相應的方法對集合類進行遍歷、添加、刪除以及查找指定對象。Java的java.util包中提供了一些集合類,常用的集合有List集合、Set集合、Map集合。
List接口
----List是列表類型,包含Collection中的所有方法。
常用方法:
List集合以線性方式存儲對象,因此可以通過對象的索引來操作對象。
List集合中可以包含重複的對象。
實現類:
List接口的實現類常用的有ArrayList和LinkedList。
1、ArrayList類:
該類實現了可變的數組,允許所有元素,包括Null。可以根據索引位置對集合進行快速的隨機訪問。缺點是向指定的索引位置插入對象或刪除對象的速度較慢。
List<String> list = new ArrayList<String>();
2、LinkedList類:
採用鏈表結構保持對象。優點是便於向集合中插入和刪除對象,缺點是隨機訪問集合中的對象效率較慢。
List<String> list = new LinkedList<String>();
例如:
public class Gather{
public static void main(String[] args){
List list = new ArrayList(); //創建集合對象
list.add("a"); //向集合中添加元素
list.add("b");
list.add("c"); //索引爲2
list.remove(2); //將索引是2的元素移除
}
}
Set接口
常用方法:
Set接口中不允許存在重複值。
實現類:
Set接口的實現類常用的有HashSet和TreeSet類。
Set<String> collSet = new HashSet<String>();
Set<String> collSet2 = new TreeSet<String>();
例如:
public class People{
private String name;
public People(String name){
this.name = name;
}
}
public class SetDemo{
public static void main(String[] args){
Set<People> hashSet = new HashSet<People>(); //創建Set集合對象
hashSet.add(new People("Jon")); //添加對象
hashSet.add(new People("Peter"));
}
}
Map接口
----Map接口提供了將鍵映射到值的對象。一個映射不能包含重複的鍵,每個鍵最多隻能映射一個值。
常用方法:
Map中的元素是通過key、value進行存儲的,要獲取集合中指定的key或者value值,需要先通過相應的方法獲取key集合或value集合,再遍歷key集合或value集合獲取指定值。
實現類:
Map接口常用的實現類有HashMap和TreeMap。通常建議使用HashMap實現類實現Map集合。