目录
Java集合的基础知识
JavaArrayList成员方法
Java集合的练习
01-添加字符串并遍历
02-添加数字并遍历
03-添加学生对象并遍历1
04-添加学生对象并遍历2
Java集合的基础知识
JavaArrayList成员方法
在Java中,ArrayList 是一个可调整大小的数组实现,它属于 java.util 包。以下是 ArrayList 类中用于增删查改操作的一些常用方法:
-  增加元素: - add(E e): 将指定的元素添加到列表的末尾。
- add(int index, E element): 在列表的指定位置插入指定元素。
 
-  删除元素: - remove(Object o): 删除列表中出现的第一个指定元素(如果存在)。
- remove(int index): 删除列表中指定位置的元素。
 
-  查找元素: - get(int index): 返回列表中指定位置的元素。
- indexOf(Object o): 返回列表中指定元素的第一次出现的索引,如果列表不包含该元素,则返回 -1。
- lastIndexOf(Object o): 返回列表中指定元素的最后一次出现的索引,如果列表不包含该元素,则返回 -1。
 
-  修改元素: - set(int index, E element): 用指定元素替换列表中指定位置的元素。
 
-  列表大小和清空: - size(): 返回列表中的元素数。
- isEmpty(): 如果列表不包含元素,则返回- true。
- clear(): 移除列表中的所有元素。
 
-  检查存在性: - contains(Object o): 如果列表包含指定的元素,则返回- true。
 
-  遍历列表: - 使用迭代器 iterator(): 返回列表中元素的迭代器,用于遍历。
- 使用增强 for循环直接遍历ArrayList。
 
- 使用迭代器 
下面是一些使用这些方法的简单示例:
import java.util.ArrayList;public class ArrayListExample {public static void main(String[] args) {// 创建ArrayListArrayList<String> list = new ArrayList<>();// 增加元素list.add("Apple");list.add("Banana");list.add(1, "Grapes"); // 在索引1处添加元素// 查找元素String item = list.get(0); // 获取第一个元素int index = list.indexOf("Banana"); // 查找"Banana"的索引// 修改元素list.set(2, "Cherry"); // 将索引2的元素替换为"Cherry"// 删除元素list.remove("Apple"); // 删除"Apple"list.remove(0); // 删除索引0处的元素// 列表大小和清空int size = list.size(); // 获取列表大小boolean isEmpty = list.isEmpty(); // 检查列表是否为空list.clear(); // 清空列表// 遍历列表for (String fruit : list) {System.out.println(fruit);}}
}请注意,ArrayList 是一个泛型类,这意味着你可以指定列表可以包含的元素类型,例如 ArrayList<String> 或 ArrayList<Integer>。这样做有助于提供编译时类型安全,并减少运行时类型错误的可能性。
在Java中,每种基本数据类型都有一个对应的包装类。这些包装类属于java.lang包,它们的作用是将基本数据类型转换为对象,这样可以使用对象的方法和属性。下面是基本数据类型及其对应的包装类:
- byte:对应的包装类是- Byte
- short:对应的包装类是- Short
- int:对应的包装类是- Integer
- long:对应的包装类是- Long
- float:对应的包装类是- Float
- double:对应的包装类是- Double
- char:对应的包装类是- Character
- boolean:对应的包装类是- Boolean
包装类提供了一些有用的方法,如将字符串转换为相应的基本类型值,或者将基本类型值转换为字符串,以及其他一些实用的静态方法。例如,Integer类提供了parseInt方法来将字符串转换为整数,Boolean类提供了parseBoolean来解析字符串为布尔值。此外,包装类还实现了比较对象等功能。
Java集合的练习
01-添加字符串并遍历
package com.mohuanan.exercise;import java.util.ArrayList;public class Demo01 {public static void main(String[] args) {//1. 创建ArrayList集合的对象ArrayList<String> list1 = new ArrayList<>();for (int i = 0; i < 3; i++) {list1.add("aaa");}System.out.println(list1);//2. 遍历输出System.out.println("[");for (int i = 0; i < list1.size(); i++) {//最后一个元素if(i==list1.size()-1){System.out.println(list1.get(i));}else{System.out.println(list1.get(i)+",");}}System.out.println("]");}
}02-添加数字并遍历
package com.mohuanan.exercise;import java.util.ArrayList;public class Demo02 {public static void main(String[] args) {//1. 创建ArrayList对象ArrayList<Integer> list = new ArrayList<>();//jdk1.5以后Integer和int是可以相互转化的list.add(123);list.add(1);list.add(666);//2. 遍历for (int i = 0; i < list.size(); i++) {int number = list.get(i);System.out.print(number+"  ");}System.out.println();}
}03-添加学生对象并遍历1
package com.mohuanan.student;public class Student {//学生属性private String name;private int age;//构造方法public Student(String name, int age) {this.name = name;this.age = age;}public Student() {}//方法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 com.mohuanan.student;import java.util.ArrayList;public class StudentTest {public static void main(String[] args) {//创建集合ArrayList<Student> list = new ArrayList<>();//创建Student对象Student s1 = new Student("莫华南",18);Student s2 = new Student("莫华棋",10);Student s3 = new Student("莫才兴",40);//添加元素list.add(s1);list.add(s2);list.add(s3);//输出的是地址System.out.println(list);//遍历输出for (int i = 0; i < list.size(); i++) {Student s = list.get(i);System.out.println(s.getName()+","+s.getAge());System.out.println(list.get(i).getName()+"  "+list.get(i).getAge());}}
}04-添加学生对象并遍历2
package com.mohuanan.student;import java.util.ArrayList;
import java.util.Scanner;public class StudentTest {public static void main(String[] args) {//创建集合ArrayList<Student> list = new ArrayList<>();//创建Student对象Scanner sc = new Scanner(System.in);//注意这里 要new一个空间出来//Student stu = new Student();  ****for (int i = 0; i < 3; i++) {Student stu = new Student();  //所以要把stu这句话写在这里  表示创建三个名字相同 的stu对象System.out.println("请分别输入第"+(i+1)+"个人的姓名和年龄(用空格隔开)");//stu = new Student(sc.next(),sc.nextInt());//或者String name = sc.next();int age = sc.nextInt();//赋值给Student对象的属性 (用set方法)stu.setName(name);stu.setAge(age);//添加元素//输出的结果/*sdf,100sdf  100sdf,100sdf  100sdf,100sdf  100*///如果使用第一种方法 集合里面存储的是**三个**(相同的)**地址**list.add(stu);}//输出的是地址System.out.println(list);//遍历输出for (int i = 0; i < list.size(); i++) {Student s = list.get(i);System.out.println(s.getName()+","+s.getAge());System.out.println(list.get(i).getName()+"  "+list.get(i).getAge());}}
}