集合框架中的接口
Collection:集合层次中的根接口,JDK没有提供这个接口直接的实现类。
Set:不能包含重复的元素。SortedSet是一个按照升序排列元素的Set。
List:是一个有序的集合,可以包含重复的元素。提供了按索引访问的方式。
Map:包含了key-value对。Map不能包含重复的key。SortedMap是一个按照升序排列key的Map。
ArrayList
ArrayList:我们可以将其看作是能够自动增长容量的数组。
利用ArrayList的toArray()返回一个数组。
Arrays.asList()返回一个列表。
迭代器(Iterator) 给我们提供了一种通用的方式来访问集合中的元素。
import
java.util.
*
;
public class ArrayListTest
... {
public static void printElements(Collection c)
...{
Iterator it=c.iterator();
while(it.hasNext())
...{
System.out.println(it.next());
}
}
public static void main(String[] args)
...{
ArrayList al=new ArrayList();
/** *//**al.add("weixing");
al.add("sunbing");
al.add("mawangduo");
for(int i=0;i<al.size();i++)
{
System.out.println(al.get(i));
}
System.out.println(al);*/
al.add(new Point(2,2));
al.add(new Point(3,3));
al.add(new Point(4,4));
System.out.println(al);
Object[] objs=al.toArray();
for(int i=0;i<objs.length;i++)
...{
System.out.println(objs[i]);
}
List l=Arrays.asList(objs);
System.out.println(l);
printElements(l);
//al.add(new Point(5,5));不可以修改asList返回的LIST列表
/** *//**Iterator it=al.iterator();
it.next();
it.remove();//从迭代器指向的集合中移除迭代器返回的最后一个元素(可选操作)。
while(it.hasNext())
{
System.out.println(it.next());
}*/
}
}
class Point
... {
int x,y;
public Point(int x,int y)
...{
this.x=x;
this.y=y;
}
public String toString()
...{
return "x="+x+";"+"y="+y;
}
}
public class ArrayListTest
... {
public static void printElements(Collection c)
...{
Iterator it=c.iterator();
while(it.hasNext())
...{
System.out.println(it.next());
}
}
public static void main(String[] args)
...{
ArrayList al=new ArrayList();
/** *//**al.add("weixing");
al.add("sunbing");
al.add("mawangduo");
for(int i=0;i<al.size();i++)
{
System.out.println(al.get(i));
}
System.out.println(al);*/
al.add(new Point(2,2));
al.add(new Point(3,3));
al.add(new Point(4,4));
System.out.println(al);
Object[] objs=al.toArray();
for(int i=0;i<objs.length;i++)
...{
System.out.println(objs[i]);
}
List l=Arrays.asList(objs);
System.out.println(l);
printElements(l);
//al.add(new Point(5,5));不可以修改asList返回的LIST列表
/** *//**Iterator it=al.iterator();
it.next();
it.remove();//从迭代器指向的集合中移除迭代器返回的最后一个元素(可选操作)。
while(it.hasNext())
{
System.out.println(it.next());
}*/
}
}
class Point
... {
int x,y;
public Point(int x,int y)
...{
this.x=x;
this.y=y;
}
public String toString()
...{
return "x="+x+";"+"y="+y;
}
}