09_Java中的集合基础
Java集合基础
一、集合ArrayList概述:
编程的时候如果存储多个数据,使用长度固定的数组储存格式,不一定满足我们的需求,更适应不了变化的需求,那么,此时该如何选择? (集合)
集合:提供了一种存储空间可变的存储模型,存储的数据容量可以发生改变
集合类有很多,目前我们学习:ArrayList
ArrayList<E>: 可以调整大小的数组实现 <E>:是一种特殊的数据类型,泛型(可以参考C++中的模板)
怎么用?
更改E为我们使用引用数据类型替换即可,如类名
二、ArrayList构造方法和添加方法
方法名 | 说明 |
---|---|
public ArrayList() | 创建一个空的集合对象 |
public boolean add(E e) | 指定的元素追加到此集合的末尾(尾插) |
public void add(int index, E element) | 在此集合中的指定位置插入元素 |
package com.itheima; /* 测试ArrayList类的 构造 和 添加 方法 */ //导包 import java.util.ArrayList; public class ArrayListDemo01 { public static void main(String[] args){ //public ArrayList(); 创建一个空的集合对象 ArrayList<String> array = new ArrayList<String>(); //<>中只能是引用类型 //使用public boolean add(E e); 来尾插元素,返回值表示 添加成功或者失败 array.add("hello"); array.add("world"); //使用public void add(int index, E element); 在指定下标位置添加元素 array.add(0, "JavaSE"); //注意:任意下标条件位范围:0~n //输出集合 System.out.println("array:" + array); //通过size方法来获取长度 System.out.println(array.size()); } }
三、ArrayList集合的常用方法
方法名 | 说明 |
---|---|
public boolean remove(Object to) | 删除指定的元素,返回删除是否成功 |
public E remove(int index) | 删除指定索引处元素,返回被删除的元素 |
public E set(int index, E element) | 修改指定索引处元素,返回被修改的元素 |
public E get(int index) | 返回指定索引处的元素 |
public int size() | 返回集合中元素个数 |
package com.itheima01; /* 测试ArrayList的常用方法: */ //导包 import java.util.ArrayList; public class ArrayListDemo02 { public static void main(String[] args) { //创建集合 ArrayList<String> array = new ArrayList<String>(); //添加元素 array.add("hello"); array.add("world"); array.add("Java"); //一、public boolean remove(Object o); 删除指定元素,返回删除是否成功 //System.out.println(array.remove("world")); //System.out.println(array.remove("javaee")); //二、public E remove(int index); 删除指定索引处的元素,返回被删除的元素 //System.out.println(array.remove(0)); //报错信息:IndexOutOfBoundsException 索引越界 //System.out.println(array.remove(3)); //三、public E set(int index, E element); 修改指定索引元素,返回被修改的元素 //System.out.println(array.set(1, "hello")); //同样防止索引越界 //四、public E get(int index); 返回指定索引处的元素 //System.out.println(array.get(2)); //同样防止索引越界 //五、public int size(); 返回集合中元素个数 System.out.println(array.size()); //输出集合 System.out.println("array:" + array); } }
四、ArrayList集合案例
1、存储字符串并遍历:
package com.itheima02; /* 实现案例存储字符串并建立 */ //导包 import java.util.ArrayList; public class ArrayListTest01 { public static void main(String[] args){ //创建空的ArrayList对象 ArrayList<String> array = new ArrayList<String>(); //在集合中添加字符串对象 array.add("张三"); array.add("李四"); array.add("王五"); //遍历集合 System.out.print("["); for(int i = 0; i < array.size(); i++){ if(i != array.size() - 1){ System.out.print(array.get(i)); System.out.print(","); } else{ System.out.print(array.get(i)); } } System.out.println("]"); } }
2、存储学生对象并遍历:
package com.itheima02; /* 创建一个学生类 */ public class Student { //成员属性 private String name; private int age; //构造方法 注:构造方法无返回值 也不需要写void public Student(){}; public Student(String name, int age){ this.name = name; this.age = age; } //set/get/show方法 public void setName(String name){ this.name = name; } public String getName(){ return this.name; } public void setAge(int age){ this.age = age; } public int getAge(){ return this.age; } public void show(){ System.out.println("name:" + name + "," + "age:" + age); } }
package com.itheima02; /* 实现存储学生对象并遍历 */ //导包 import java.util.ArrayList; public class ArrayListTest02 { public static void main(String[] args) { //创建集合对象 ArrayList<Student> arr = new ArrayList<Student>(); //添加三个对象 arr.add(new Student("张三", 30)); arr.add(new Student("李四", 28)); arr.add(new Student("王五", 29)); //遍历输出 for(int i = 0; i < arr.size(); i++){ Student stu = arr.get(i); System.out.println("name:" + stu.getName() + "," + "age:" + stu.getAge()); } } }
3、升级版存储学生对象并遍历:
package com.itheima02; /* 创建一个学生类 */ public class Student { //成员属性 private String name; private int age; //构造方法 注:构造方法无返回值 也不需要写void public Student(){}; public Student(String name, int age){ this.name = name; this.age = age; } //set/get/show方法 public void setName(String name){ this.name = name; } public String getName(){ return this.name; } public void setAge(int age){ this.age = age; } public int getAge(){ return this.age; } public void show(){ System.out.println("name:" + name + "," + "age:" + age); } }
package com.itheima02; /* 存储学生对象的集合,存储3个学生对象,使用程序实现在控制台遍历该集合 学生的姓名和年龄来自于键盘录入 */ //导包 import java.util.Scanner; import java.util.ArrayList; public class ArrayListTest03 { public static void main(String[] args){ //创建集合对象 ArrayList<Student> arr = new ArrayList<Student>(); //为了提高代码的复用性,我们用方法来改进程序 //调用方法: addStudent(arr); addStudent(arr); addStudent(arr); //遍历输出数据 for(int i = 0; i < arr.size(); i++){ System.out.println("姓名:" + arr.get(i).getName() + "," + "年龄:" + arr.get(i).getAge()); } } /* 两个明确: 返回值类型:void 参数:ArrayList<Student> array */ public static void addStudent(ArrayList<Student> array){ //创建Scanner对象用于接收数据 Scanner sc = new Scanner(System.in); System.out.println("请输入学生姓名:"); String name = sc.nextLine(); System.out.println("请输入学生序号:"); int age = sc.nextInt(); //创建学生对象 Student s = new Student(); s.setName(name); s.setAge(age); //在集合中添加数据 array.add(s); } }
本文作者:如此而已~~~
本文链接:https://www.cnblogs.com/fragmentary/p/16745656.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步