集合
说明:
Java中的集合比数组更加方便。首先一点,数组的长度是固定的,一旦确定之后,便无法改变长度,但是,集合的大小是可变的,可随意添加或删除,并且不需说明大小。
添加数据:集合就是一个容器,容器是用来放东西的,因此,集合就是用来放数据的,并且集合可放置任意类型的数据。习惯上都会放置同种类型的数据。添加数据,只需调用add方法即可。
访问数据:一般使用打印语句,调用get方法,参数是要访问的数据的索引。
另外一些方法具体如何使用请看代码注释:
1 package com.hw.ArrayListDemo0131;
2 import java.util.ArrayList;
3 public class ArrayListDemo {
4 public static void main(String[] args) {
5 ArrayList al = new ArrayList();
6 al.add("小明");
7 al.add("小刚");
8 al.add("小红");
9 System.out.println(al.get(1));
10 al.add(0, "凡涛"); //具体到某个索引处插入数据
11 System.out.println(al.get(0));
12 System.out.println(al.get(1));//后面的数据全部往后移动一位
13 ArrayList alt = new ArrayList();
14 alt.add("Peter");
15 alt.add("Smith");
16 alt.add("Lucy");
17 al.addAll(alt); //把alt里面所有的数据添加到al末尾
18 System.out.println(al.get(5));
19 //利用循环便利这个集合,集合大小调用size方法
20 for(int i=0;i < al.size();i++)
21 {
22 System.out.print(al.get(i)+" ");
23 }
24 }
25 }

另外还有一些方法:
1 package com.hw.ArrayListDemo0131;
2 import java.util.ArrayList;
3 public class ArrayListDemo {
4 public static void main(String[] args) {
5 ArrayList al = new ArrayList();
6 al.add("小明");
7 al.add("小刚");
8 al.add("小红");
9 System.out.println(al.get(1));
10 al.add(0, "凡涛"); //具体到某个索引处插入数据
11 System.out.println(al.get(0));
12 System.out.println(al.get(1));//后面的数据全部往后移动一位
13 al.remove(1); //删除方法,可直接写索引
14 al.remove("小刚"); //也可写数据
15 for(int i=0;i < al.size();i++)
16 {
17 System.out.print(al.get(i)+" ");
18 }
19 System.out.println();
20 System.out.println(al.contains("凡涛"));
21 Object ob[] = al.toArray(); //这个方法可把集合转变为数组,返回的是一个object类型的数组
22 for(int i = 0;i < ob.length;i++)
23 {
24 System.out.print(ob[i]+" ");
25 }
26 }
27 }

最后还有必要做一点说明:
1 package com.hw.ArrayListDemo0131;
2 import java.util.ArrayList;
3 public class ArrayListDemo {
4 public static void main(String[] args) {
5 ArrayList al = new ArrayList(); //注意,当我们以这种方式创建集合的时候,可以添加任意类型的数据
6 al.add(12); //里面的每一个数据都是object类型的
7 al.add(23);
8 al.add(4);
9 al.add(75);
10 al.add(625);
11 int result = 0;
12 for(int i = 0;i < al.size();i++)
13 {
14 result += (int)al.get(i);//注意,正是因为集合里面的数据都是object类型的,属于引用类型
15 } //所以如果要用作整型使用的话,必须进行强制类型转换
16 System.out.println(result); //前面的名字输出没有问题是因为直接当做字符串输出了
17 }
18 }
转换类型不能瞎转!这里是因为我们添加数据的时候是以整型来添加的,所以转换为整型。
如果不想每次都这么转换,可以这么干:
1 package com.hw.ArrayListDemo0131;
2 import java.util.ArrayList;
3 public class ArrayListDemo {
4 public static void main(String[] args) {
5 ArrayList<Integer> al = new ArrayList<Integer>();
6 al.add(12);
7 al.add(27);
8 al.add(65);
9 for(int i : al)
10 {
11 System.out.print(i+" ");
12 }
13 }
14 }
ArrayList<Integer> al = new ArrayList<Integer>();就表示只接受整型数据,这叫做泛型。


浙公网安备 33010602011771号