首页IT科技java中arraylist用法(Java:ArrayList的基本使用(学习笔记))

java中arraylist用法(Java:ArrayList的基本使用(学习笔记))

时间2025-06-20 07:52:42分类IT科技浏览3697
导读:​...

集合和数组的对比(为什么要有集合)

分为俩点

1. 长度:数组的长度是固定的            ,集合的长度是可变的            。

2. 存储类型:

数组:可以存储基本数据类型                   ,引用数据类型                   。

集合:只能存储引用数据类型      。

小tips:

基本数据类型在集合中存储要使用包装类      。

基本数据类型对应的包装类如下:

byte => Byte short => Short

int => Integer long => Long

float => Float double => Double

boolean => Boolean

char => Character

泛型

new ArrayList<泛型>();

泛型就是限定集合中存储数据的类型

ArrayList成员方法

集合的常用的成员方法主要就是增删改查

E为泛型的类型

boolean add(E e); 添加元素      ,返回true或false

boolean remove(E e); 删除元素

E remove(int index); 删除指定索引的元素      ,返回删除的元素

E set(int index,E e); 修改指定索引的元素                   ,返回修改前的元素

E get(int index); 获取指定索引的元素

int size(); 返回集合的长度             ,也就是集合中元素的个数

附上例题

1.现有如下字符串元素:["aaa", "bbb", "aaa", "aaa", "ccc", "bbb"]      ,请将所有的元素按顺序存入ArrayList集合中                  ,并遍历集合查看存储结果                   。

2.请定义教师(Teacher)类             ,属性包含姓名和专业名称             。将若干教师对象存入ArrayList集合中,并遍历集合打印教师信息

domain:

public class Teacher { private String name; private String course; public Teacher() { } public Teacher(String name, String course) { this.name = name; this.course = course; } /** * 获取 * @return name */ public String getName() { return name; } /** * 设置 * @param name */ public void setName(String name) { this.name = name; } /** * 获取 * @return course */ public String getCourse() { return course; } /** * 设置 * @param course */ public void setCourse(String course) { this.course = course; } public String toString() { return "Teacher{name = " + name + ", course = " + course + "}"; } }

main:

//请定义教师(Teacher)类                  ,属性包含姓名和专业名称      。将若干教师对象存入ArrayList集合中                   ,并遍历集合打印教师信息,格式如下 //姓名:赵老师, 专业:javase //姓名:钱老师, 专业:javaee //姓名:孙老师, 专业:php //姓名:李老师, 专业:python public static void main(String[] args) { ArrayList<Teacher> list = new ArrayList<>(); list.add(new Teacher("xiaowang", "java")); list.add(new Teacher("xiaoming", "python")); list.add(new Teacher("xiaosu", "c++")); for (int i = 0; i < list.size(); i++) { System.out.println("姓名:" + list.get(i).getName() + "\t" + "课程:" + list.get(i).getCourse()); } }

3.

有如下员工信息: 姓名:张三,工资:3000 姓名:李四            ,工资:3500 姓名:王五                   ,工资:4000 姓名:赵六      ,工资:4500 姓名:田七            ,工资:5000 先需要将所有的员工信息都存入ArrayList集合中                   ,并完成如下操作: 1             、判断是否有姓名为“王五             ”的员工      ,如果有      ,改名为“王小五                  ” 2                  、判断是否有姓名为“赵六      ”的员工                   ,如果有             ,将其删除 3      、给姓名为“田七             ”的员工      ,涨500工资

domain:

public class Worker { private String name; private int salary; public Worker() { } public Worker(String name, int salary) { this.name = name; this.salary = salary; } /** * 获取 * @return name */ public String getName() { return name; } /** * 设置 * @param name */ public void setName(String name) { this.name = name; } /** * 获取 * @return salary */ public int getSalary() { return salary; } /** * 设置 * @param salary */ public void setSalary(int salary) { this.salary = salary; } public String toString() { return "Worker{name = " + name + ", salary = " + salary + "}"; } }

main:

public static void main(String[] args) { ArrayList<Worker> list = new ArrayList<>(); list.add(new Worker("张三",3000)); list.add(new Worker("李四",3500)); list.add(new Worker("王五",4000)); list.add(new Worker("赵六",4500)); list.add(new Worker("田七",5000)); //1. if(contain(list,"王五")) { int index = getIndex(list, "王五"); Worker worker = list.get(index); worker.setName("王小五"); System.out.println(worker.toString()); } //2. if(contain(list,"赵六")) { int index = getIndex(list, "赵六"); Worker worker = list.remove(index); System.out.println(worker.toString()); } //3. if(contain(list,"田七")) { int index = getIndex(list, "田七"); Worker worker = list.remove(index); int salary = worker.getSalary() + 500; worker.setSalary(salary); System.out.println(worker.toString()); } } //是否存在 public static boolean contain(ArrayList<Worker> list,String name) { return getIndex(list,name) > 0; } //获取元素的索引 存在返回索引                  ,不存在返回-1 public static int getIndex(ArrayList<Worker> list,String name) { for (int i = 0; i < list.size(); i++) { Worker worker = list.get(i); if(worker.getName().equals(name)){ return i; } } return -1; }

声明:本站所有文章             ,如无特殊说明或标注,均为本站原创发布                  。任何个人或组织                  ,在未征得本站同意时                   ,禁止复制             、盗用                   、采集      、发布本站内容到任何网站      、书籍等各类媒体平台             。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
es6的特性及作用(day01-ES6新特性) 网站排名seo教程下载官网(网站排名seo软件)