本节主要介绍了集合类的基本大概念和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(3,3));
al.add(new Point(4,4));
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(3,3));
al.add(new Point(4,4));
Object[] o = al.toArray();//获取数组对象,利用ArrayList的toArray()返回一个数组。
for(int i=0;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.