Java类集
在整个Java类集中最常使用的类集接口是:Collection、List、Set、Map、Iterator、ListIterator、Enumeration、SortedSet、SortedMap、Queue、Map.Entry。
Collection接口
Collection接口的定义如下:
public interface Collection<E> extends Iterable<E>
从接口的定义中可以发现,此接口使用了泛型的定义,在操作时必须指定具体的操作类型。这样可以保证类集操作的安全性,避免发生ClassCastException异常。
在一般的开发中,往往很少直接使用Collection接口进行开发,基本上都是使用其子接口。子接口主要有List、Set、Queue和SortedSet。
List接口
List是Collection的子接口,其中可以保存各个重复的内容。此接口定义如下:
public interface List<E> extends Collection<E>
但是与Collection不同的是,在List接口中大量地扩充了Collection接口,拥有了比Collection接口中更多的方法定义,其中有些方法还比较常用。
public void add(int index, E element)
E get(int index)
......
List接口的常用子类
ArrayList
ArrayList是List子类,可以直接通过对象的多态性为List接口实例化,此类的定义:
public calss ArrayList<E> extends AbstractList<E>
implements List<E>,RandomAccess,Cloneable,Serializable
(1) 实例操作一:向集合中增加元素
1 package com.yuchao.collection;
2
3 import java.util.ArrayList;
4 import java.util.Collection;
5 import java.util.List;
6
7 public class ArrayListDemo {
8
9 /**
10 * @param args
11 */
12 public static void main(String[] args) {
13 // TODO Auto-generated method stub
14 List<String> allList=null;
15 Collection<String> allCollection=null;
16 allList=new ArrayList<String>();
17 allCollection=new ArrayList<String>();
18 allList.add("Hello");
19 allList.add(0,"World");
20 System.out.println(allList);
21 allCollection.add("YUCHAO");
22 allCollection.add("www.baidu.con");
23 allList.addAll(allCollection);
24 allList.addAll(0,allCollection);
25 System.out.println(allList);
26
27 }
28
29 }
(2) 实例二:删除元素
1 package com.yuchao.collection;
2
3 import java.util.ArrayList;
4 import java.util.Collection;
5 import java.util.List;
6
7 public class ArrayListDemo {
8
9 /**
10 * @param args
11 */
12 public static void main(String[] args) {
13 // TODO Auto-generated method stub
14 List<String> allList=null;
15 Collection<String> allCollection=null;
16 allList=new ArrayList<String>();
17 allCollection=new ArrayList<String>();
18 allList.add("Hello");
19 allList.add(0,"World");
20 System.out.println(allList);
21 allCollection.add("YUCHAO");
22 allCollection.add("www.baidu.con");
23 allList.addAll(allCollection);
24 allList.addAll(0,allCollection);
25 System.out.println(allList);
26
27 }
28
29 }
(3) 实例操作三:输出List中的内容
1 package com.yuchao.collection;
2
3 import java.util.ArrayList;
4 import java.util.List;
5
6 public class ArrayListDemo {
7
8 /**
9 * @param args
10 */
11 public static void main(String[] args) {
12 // TODO Auto-generated method stub
13 List<String> allList=null;
14 allList=new ArrayList<String>();
15 allList.add("Hello");
16 allList.add(0,"World");
17 allList.add("YUCHAO");
18 allList.add("www.baidu.com");
19 for(int i=0;i<allList.size();i++)
20 {
21 if(i!=allList.size()-1)
22 {
23 System.out.print(allList.get(i)+"、");
24 }
25 else
26 {
27 System.out.print(allList.get(i));
28 }
29 }
30 }
31
32 }
(4) 实例操作四:将集合变为对象数组
1 package com.yuchao.collection;
2
3 import java.util.ArrayList;
4 import java.util.List;
5
6 public class ArrayListDemo {
7
8 /**
9 * @param args
10 */
11 public static void main(String[] args) {
12 // TODO Auto-generated method stub
13 List<String> allList=null;
14 allList=new ArrayList<String>();
15 allList.add("Hello");
16 allList.add(0,"World");
17 allList.add("YUCHAO");
18 allList.add("www.baidu.com");
19 String[] str=allList.toArray(new String[]{});
20 Object[] objects=allList.toArray();
21
22 System.out.print("指定数组类型:");
23 for(int i=0;i<str.length;i++)
24 {
25 if(i!=str.length-1)
26 {
27 System.out.print(str[i]+"、");
28 }
29 else
30 {
31 System.out.print(str[i]);
32 }
33 }
34
35 System.out.println();
36 System.out.print("返回对象数组:");
37 for(int i=0;i<objects.length;i++)
38 {
39 if(i!=objects.length-1)
40 {
41 System.out.print((String)objects[i]+"、");
42 }
43 else
44 {
45 System.out.print((String)objects[i]);
46 }
47
48
49 }
50 }
51
52 }