集合

说明:

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>();就表示只接受整型数据,这叫做泛型。

 


 

 

 

posted @ 2021-02-02 21:31  EvanTheBoy  阅读(90)  评论(0)    收藏  举报