java基础篇:ArrayList集合

tech2023-03-02  110

java基础篇

IDEA常用快捷键

快捷键功能Alt+Enter自动修正代码Ctrl+Y删除光标所在行Ctrl+D复制光标所在行的内容,插入光标位置下面Ctrl+Alt +L格式化代码Ctrl+/单行注释,再按取消注释Ctrl+Shift+/选中代码注释,多行注释,再按取消注释。Alt+Ins自动生成代码,toString,get,set等方法Alt+Shift+上下箭头移动当前代码行

ArrayList集合概述

基本使用

package cn.itcast.day01.demo01.array; import java.util.ArrayList; /* * 数组的长度不可以发生改变。 * 但是ArrayList集合的长度是可以随意变化的。 * * 对于ArrayList来说,有一个尖括号<E>代表泛型 * 泛型:也就是装在集合当中的所有元素,全都是统一的类型。 * 注意:泛型只能是引用类型,不能是基本类型。 * * 注意事项: * 对于ArrayList集合来说,直接打印得到的不是地址值,而是内容。 * 如果内容是空,得到的是空的中括号。 [] * * */ public class Demo02ArrayList { public static void main(String[] args) { /* * 创建了一个ArrayList集合,集合的名称是:list,里面装的全都是String字符串的数据 * 备注:从JDK1.7+开始,右侧的尖括号内部可以不写内容,但是<>本身还是要写的 * */ ArrayList<String> list = new ArrayList<>(); System.out.println(list); // [] // 向集合当中添加一些数据,需要用到add方法 list.add("刘诗诗"); list.add("唐嫣"); list.add("杨幂"); list.add("迪丽热巴"); // list.add(100); // 错误写法:因为创建的时候尖括号泛型已经说了是字符串,添加进去的元素就必须都是字符串才可以 System.out.println(list); // [刘诗诗, 唐嫣, 杨幂, 迪丽热巴] } }

ArrayList常用方法和遍历

package cn.itcast.day01.demo01.array; import java.util.ArrayList; /* * ArrayList当中的常用方法有: * * public boolean add(E e):向集合当中添加元素,参数的类型和泛型一致。返回值代表添加是否成功 * 备注:对于ArrayList集合来说,add添加动作一定是成功的,所以返回值可用可不用。 * 但是对于其他集合(今后学习)来说,add添加动作不一定成功。 * * public E get(int index):从集合当中获取元素,参数是索引编号,返回值就是对应位置的元素 * * public E remove(int index):从集合当中删除元素,参数是索引编号,返回值就是被删除的元素。 * * public int size():获取集合的尺寸长度,返回值是集合中包含的元素个数 * */ public class Demo03ArrayListMethod { public static void main(String[] args) { ArrayList<String> list = new ArrayList<>(); System.out.println(list); // 向集合中添加元素:add boolean success = list.add("刘诗诗"); list.add("唐嫣"); list.add("吕一"); list.add("舒畅"); System.out.println(list); // [刘诗诗, 唐嫣, 吕一, 舒畅] System.out.println("添加的动作是否成功:" + success); // 从集合中获取元素,get。索引值从0开始 String name = list.get(2); System.out.println("第2号索引的位置:" + name); // 从集合中删除元素,remove。索引值从0开始 String whoRemove = list.remove(2); System.out.println(list); // [刘诗诗, 唐嫣, 舒畅] // 获取集合的长度尺寸,也就是其中元素的个数 int size = list.size(); System.out.println("集合的长度是:" + size); } } package cn.itcast.day01.demo01.array; import java.util.ArrayList; public class Demo04ArrayListEach { public static void main(String[] args) { ArrayList<String> list = new ArrayList<>(); list.add("迪丽热巴"); list.add("杨幂"); list.add("唐嫣"); list.add("刘诗诗"); // 集合遍历 for (int i = 0; i < list.size(); i++) { System.out.println(list.get(i)); } } }

ArrayList集合存储基本数据类型

package cn.itcast.day01.demo01.array; import java.util.ArrayList; /* * 如果希望向集合ArrayList当中存储基本类型数据,必须使用基本数据类型对应的"包装类" * 基本类型 包装类(引用类型,包装类都位于java.lang包下) * byte Byte * short Short * int Integer 【特殊】 * long Long * float Float * double Double * char Character【特殊】 * boolean Boolean * * 从JDk 1.5+开始,支持自动装箱、自动拆箱,自动完成不需要人工干预。 * 自动装箱:基本类型 -> 包装类型。 * 既有基本类型也有引用类型,二者之间可以自动转换。基本类型 自动变成 引用类型 * 自动拆箱:包装类型 -> 基本类型。 * 包装类型自动拆出来一个基本类型 * */ public class Demo05ArrayListBasic { public static void main(String[] args) { ArrayList<String> listA = new ArrayList<>(); // 错误写法!泛型只能是引用类型,不能是基本类型 // ArrayList<int> listB = new ArrayList<>(); ArrayList<Integer> listC = new ArrayList<>(); listC.add(100); listC.add(200); listC.add(300); System.out.println(listC); // [100, 200, 300] // 获取数组元素 Integer num = listC.get(1); System.out.println("第一号元素是:" + num); } }

ArrayList练习

存储随机数字

package cn.itcast.day01.demo01.array; import java.util.ArrayList; import java.util.Random; /* * 题目:生成6个1~33之间的随机整数,添加到集合,并遍历集合。 * * 思路: * 1.需要存储6个数字,创建一个集合,<Integer> 2.产生随机数,需要用到Random 3.用循环6次,来产生6个随机数字:for循环 4.循环内调用r.nextInt(int n),参数是33,0~32,整体+1才是1~33 5.把数字添加到集合中:add 6.遍历集合:for/size/get * */ public class Demo01ArrayListRandom { public static void main(String[] args) { ArrayList<Integer> list = new ArrayList<>(); Random r = new Random(); for (int i = 0; i < 6; i++) { int num = r.nextInt(33) + 1; list.add(num); } // 遍历集合 for (int i = 0; i < list.size(); i++) { System.out.println(list.get(i)); } } }

存储自定义对象

package cn.itcast.day01.demo01.array; public class Student { private String name; private int age; // 无参数构造方法 public Student() { } // 有参数构造方法 public Student(String name, int age) { this.name = name; this.age = age; } // Getter/Setter方法 public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } } package cn.itcast.day01.demo01.array; import java.util.ArrayList; /* * 题目:自定义4个学生对象,添加到集合,并遍历 * * 思路: * 1.自定义Student学生类,四个部分: * 2.创建一个集合,用来存储学生对象。泛型:<Student> 3.根据类,创建4个学生对象 4.将4个学生对象添加到集合中:add 5.遍历集合:for/size/get * */ public class Demo02ArrayListStudent { public static void main(String[] args) { ArrayList<Student> list = new ArrayList<>(); Student one = new Student("洪七公", 20); Student two = new Student("段誉", 30); Student three = new Student("黄药师", 40); Student four = new Student("南帝", 50); list.add(one); list.add(two); list.add(three); list.add(four); for (int i = 0; i < list.size(); i++) { Student stu = list.get(i); System.out.println("姓名:" + stu.getName() + ",年龄" + stu.getAge()); } } }

按指定格式遍历

package cn.itcast.day01.demo01.array; import java.util.ArrayList; /* * 题目:定义以指定格式打印集合的方法(ArrayList类型作为参数),使用{}扩起集合,使用@分隔每个元素 * 格式参照{元素@元素@元素} * * System.out.print(list); [10,20,30] * printArrayList(list); {10@20@30} * */ public class Demo03ArrayListPrint { public static void main(String[] args) { ArrayList<String> list = new ArrayList<>(); list.add("张三丰"); list.add("张四丰"); list.add("张五丰"); list.add("张六丰"); System.out.println(list); printArrayList(list); } /* * 定义方法的三要素: * 1.返回值类型:只是进行打印而已,没有运算,没有结果;所以用void * 2.方法名称:printArrayList * 3.参数列表:ArrayList * * 重点练习:集合作为方法的参数 * */ public static void printArrayList(ArrayList<String> list) { // {10@20@30} System.out.print("{"); for (int i = 0; i < list.size(); i++) { String name = list.get(i); if(i == list.size() -1) { System.out.print(name + "}"); }else{ System.out.print(name + "@"); } } } }

筛选集合中的随机

package cn.itcast.day01.demo01.array; import java.util.ArrayList; import java.util.Random; /* * 题目:用一个大集合存入20个随机数字,然后筛选其中的偶数元素,放到小集合当中。 * 要求使用自定义的方法来实现筛选。 * * 分析: * 1.需要创建一个大集合,用来存储int数字:<Integer> 2.随机数字就用Random nextInt 3.循环20次,把随机数字放入大集合:for循环、add方法 4.定义一个方法,用来进行筛选。 筛选:根据大集合,筛选符合要求的元素:得到小集合 三要素: 1.返回值类型:ArrayList小集合(里面元素个数不确定) 2.方法名称:getSmallList 3.参数列表:ArrayList大集合(装着20个随机数字) 5.判断是偶数:num % 2 == 0 6.如果是偶数,就放到小集合当中,否则不放。 * */ public class Demo04ArrayListReturn { public static void main(String[] args) { ArrayList<Integer> bigList = new ArrayList<>(); Random r = new Random(); for (int i = 0; i < 20; i++) { int num = r.nextInt(100) + 1; // 1~100 bigList.add(num); } ArrayList<Integer> smallList = getSmallList(bigList); System.out.println("偶数总共有多少个:" + smallList.size()); for (int i = 0; i < smallList.size(); i++) { System.out.println(smallList.get(i)); } } // 这个方法,接收大集合参数,返回小集合结果 // 【重点练习】:让集合作为方法的返回值 public static ArrayList<Integer> getSmallList(ArrayList<Integer> bigList) { // 创建一个小集合,用来装偶数结果 ArrayList<Integer> smallList = new ArrayList<>(); for (int i = 0; i < bigList.size(); i++) { Integer num = bigList.get(i); if(num % 2 == 0) { smallList.add(num); } } return smallList; } }

最新回复(0)