JAVA进阶11

间歇性混吃等死,持续性踌躇满志系列-------------第11天

1、ArrayList

 1 package cn.intcast.demo11;
 2 
 3 import java.util.ArrayList;
 4 
 5 /*
 6  * 数组的长度不可以发生改变
 7  * 但是ArrayList集合的长度是可以随意变化的
 8  *
 9  * 对于ArrayList来说,有一个尖括号<E>代表泛型。
10  * 泛型:就是装在集合当中的所有元素,全都是统一的什么类型
11  * 注:泛型只能是引用类型。不能是基本类型
12  *     对于ArrayList集合来说,直接打印得到的不是地址值,而是内容
13  *     如果内容为空,得到的是空的中括号
14  *
15  */
16 public class Demo01ArrayList {
17     public static void main(String[] args) {
18         //创建了一个ArrayList集合,集合的名称是List,里面装的全都是String字符串类型
19         //注:从JDK 1.7+开始,右侧的尖括号内部可以不写内容但是<>本身还是要写的
20         ArrayList<String> list = new ArrayList<>();
21         System.out.println(list);
22     }
23 }
View Code

运行结果图

尖括号的泛型定义完类型之后不能添加其他类型的集合元素,否则会报错

 运行效果图

2、ArrayList集合的常用方法和遍历

 1 package cn.intcast.demo11;
 2 
 3 import java.util.ArrayList;
 4 
 5 public class Demo01ArrayList {
 6     public static void main(String[] args) {
 7         ArrayList<String> list = new ArrayList<>();
 8         System.out.println(list);   //[]
 9 
10         //向集合中添加元素
11         boolean su = list.add("赵奢");
12         System.out.println(list);
13         System.out.println("添加是否成功:"+su);
14         list.add("张仪");
15         list.add("苏秦");
16         list.add("大良造");
17         System.out.println(list);
18 
19         //从集合中获取元素:get。索引值从0开始
20         String s1 = list.get(0);
21         System.out.println("第0号索引位置的值是:"+s1);
22         System.out.println("========================");
23         //遍历集合中的元素
24         for (int i = 0; i <= 3; i++) {
25             System.out.println(list.get(i));
26         }
27         System.out.println("========================");
28         //从集合中删除元素:remove,索引值也是从0开始
29         String whoRemoved = list.remove(3);
30         System.out.println("被删除的人是:"+whoRemoved);
31         System.out.println(list);
32         System.out.println("========================");
33         //获取集合的长度,即其中元素的个数
34         int Size = list.size();
35         System.out.println("集合的长度是:"+Size);
36         System.out.println("========================");
37         //遍历集合
38         for (int i = 0; i < Size; i++) {
39             System.out.println(list.get(i));
40         }
41     }
42 }
View Code

 运行效果图

3、ArrayLi集合存储基本数据类型

 1 package cn.intcast.demo11;
 2 
 3 import java.util.ArrayList;
 4 
 5 public class Demo02ArrayList {
 6     public static void main(String[] args) {
 7         ArrayList<String> list = new ArrayList<>();
 8         //错误写法
 9 //        ArrayList<int> list1 = new ArrayList<int>();
10         ArrayList<Integer> list1 = new ArrayList<>();
11         ArrayList<Byte> list2 = new ArrayList<>();
12         ArrayList<Short> list3 = new ArrayList<>();
13         ArrayList<Long> list4 = new ArrayList<>();
14         ArrayList<Float> list5 =new ArrayList<>();
15         ArrayList<Double> list6 = new ArrayList<>();
16         ArrayList<Character> list7 = new ArrayList<>();
17         ArrayList<Boolean> list8 = new ArrayList<>();
18 
19         list1.add(2);
20         list1.add(3);
21         System.out.println(list1);
22     }
23 }
View Code

 运行效果图

 

4、生成6个1-33之间的随意整数,添加到集合,并遍历集合

 

 1 package cn.intcast.demo11;
 2 
 3 import java.util.ArrayList;
 4 import java.util.Random;
 5 
 6 public class Demo03ArrayList {
 7     public static void main(String[] args) {
 8         //创建Random对象
 9         Random r = new Random();
10         //创建集合
11         ArrayList<Integer> list = new ArrayList<>();
12         //添加随机数到集合
13         for (int i = 0; i < 6; i++) {
14             int s = r.nextInt(33) + 1;
15             list.add(s);
16         }
17         for (int i = 0; i < list.size(); i++) {
18             System.out.println(list.get(i));
19         }
20     }
21 }
View Code

 运行效果图

5、存储自定义对象

 1 package cn.intcast.demo11;
 2 
 3 public class Student {
 4     private String name;
 5     private String sex;
 6     private int age;
 7 
 8     public Student() {
 9     }
10 
11     public Student(String name, String sex, int age) {
12         this.name = name;
13         this.sex = sex;
14         this.age = age;
15     }
16 
17     public String getName() {
18         return name;
19     }
20 
21     public void setName(String name) {
22         this.name = name;
23     }
24 
25     public String getSex() {
26         return sex;
27     }
28 
29     public void setSex(String sex) {
30         this.sex = sex;
31     }
32 
33     public int getAge() {
34         return age;
35     }
36 
37     public void setAge(int age) {
38         this.age = age;
39     }
40 }
标准的Student类
 1 package cn.intcast.demo11;
 2 
 3 
 4 import java.util.ArrayList;
 5 
 6 public class Demo03ArrayList {
 7     public static void main(String[] args) {
 8         ArrayList<Student> list = new ArrayList<>();
 9         Student s1 = new Student("武松","男",22);
10         Student s2 = new Student("孙二两","女",26);
11         Student s3 = new Student("宋江","男",25);
12         Student s4 = new Student("武大浪","男",23);
13 
14         list.add(s1);
15         list.add(s2);
16         list.add(s3);
17         list.add(s4);
18 
19         for (int i = 0; i < list.size(); i++) {
20             Student stu = list.get(i);
21             System.out.println("姓名是:"+stu.getName()+"
"+"性别是:"+stu.getSex()+"
"+"年龄是:"+stu.getAge()+"
");
22         }
23     }
24 }
ArrayList

运行效果图

 6、定义以指定格式打印集合的方法(ArrayList类型作为参数),使用{}扩起的集合。使用|||分隔每个元素。

 1 package cn.intcast.demo11;
 2 
 3 import java.util.ArrayList;
 4 
 5 public class Demo04ArrayList {
 6     public static void main(String[] args) {
 7         ArrayList<String> list = new ArrayList<>();
 8         list.add("金庸");
 9         list.add("武侠");
10         list.add("科幻");
11         list.add("玄幻");
12         System.out.println(list);
13         printArrayList(list);
14     }
15     public static void printArrayList(ArrayList<String> list){
16         System.out.print("{");
17         for (int i = 0; i < list.size(); i++) {
18             String name = list.get(i);
19             if (i==list.size()-1){
20                 System.out.print(name+"}");
21             }else {
22                 System.out.print(name+"|||");
23             }
24         }
25     }
26 }
View Code

运行效果图

7、筛选集合中的随机数

 1 package cn.intcast.demo11;
 2 
 3 import java.util.ArrayList;
 4 import java.util.Random;
 5 
 6 public class Demo04ArrayList {
 7     public static void main(String[] args) {
 8         ArrayList<Integer> list = new ArrayList<>();
 9         Random R = new Random();
10         for (int i = 0; i < 20; i++) {
11             int n = R.nextInt(50) + 1;
12             list.add(n);
13         }
14         ArrayList<Integer> smalllist = getSmallList(list);
15         for (int i = 0; i < smalllist.size(); i++) {
16             System.out.print(smalllist.get(i)+" ");
17         }
18     }
19 
20     //这个方法接收第一个list参数,返回第二个集合结果
21     public static ArrayList<Integer> getSmallList(ArrayList<Integer> list) {
22         ArrayList<Integer> smallList = new ArrayList<>();
23         for (int i = 0; i < list.size(); i++) {
24             int num = list.get(i);
25             if (num % 2 == 0) {
26                 smallList.add(num);
27             }
28         }
29         return smallList;
30     }
31 }
View Code

运行效果图

原文地址:https://www.cnblogs.com/Anemia-BOY/p/10591226.html