本節主要介紹了集合類的基本大概念和List中的Arraylist,ArrayList:我們可以将其看作是能夠自動增長容量的數組,還有利用ArrayList的toArray()傳回一個數組。Arrays.asList()傳回一個清單。
-
集合架構中的接口
Collection:集合層次中的根接口,JDK沒有提供這個接口直接的實作類。
Set:不能包含重複的元素。SortedSet是一個按照升序排列元素的Set。
List:是一個有序(是指前後關系)的集合,可以包含重複的元素。提供了按索引通路的方式。
Map:包含了key-value對。Map不能包含重複的key。SortedMap是一個按照升序排列key的Map。鍵不能重複,值可以重複
示例:
package ArrayList;
import java.util.ArrayList;
class ArrayListTest {
public static void main(String[] args)
{
ArrayList al = new ArrayList();
//al.add("xiaoxi");
//al.add("xiaozhu");
//al.add("xiaomiao");
/*for(int i=0;i<al.size();i++){
System.out.println(al.get(i));
}*/
//這兩個注釋是一個意思
al.add(new Point(,));
al.add(new Point(,));
System.out.println(al);
//因為集合類也是從Object類繼承來,有toString()當我們列印這個對象的時候也會調用toString();
}
}
class Point
{
int x,y;
Point(int x,int y){
this.x = x;
this.y = y;
}
public String toString(){
return "x=" + x +","+"y=" + y;
//結果[x=3,y=3, x=4,y=4]
//說明當我們直接列印集合類對象時,會将集合中的所有元素調用他們的toString()将他們列印輸出
}
}
- 利用ArrayList的toArray()傳回一個數組。
- Arrays.asList()傳回一個清單。
package ArrayList;
import java.util.ArrayList;
class ArrayListTest {
public static void main(String[] args)
{
ArrayList al = new ArrayList();
al.add(new Point(,));
al.add(new Point(,));
Object[] o = al.toArray();//擷取數組對象,利用ArrayList的toArray()傳回一個數組。
for(int i=;i<o.length;i++){
System.out.println(o[i]);
}
//因為集合類也是從Object類繼承來,有toString()當我們列印這個對象的時候也會調用toString();
//總結,如果從集合類中擷取到數組,用toArray(),如果我們想從數組到集合用Arrays.asList()方法。
List j = Arrays.asList(o);
System.out.println(j);
}
}
class Point
{
int x,y;
Point(int x,int y){
this.x = x;
this.y = y;
}
public String toString(){
return "x=" + x +","+"y=" + y;
}
}
結束啦,本節主要介紹了集合類的基本大概念和List中的Arraylist,ArrayList:我們可以将其看作是能夠自動增長容量的數組,還有利用ArrayList的toArray()傳回一個數組。Arrays.asList()傳回一個清單。
下一節涵蓋容器Vector.