目录

1. ArrayList

2.集合练习

(1)添加字符串和整数,并遍历

(2)添加学生对象并遍历

(3)查找用户是否存在

(4)返回多个数据


1. ArrayList

数组有个致命的弱点,那就是创建时需要指定其长度,并且在使用时长度不可改变。

在Java教程中知道,要统计的数据量不可能是固定不变的,所以我们需要一个拥有可变长度的容器来储存,而这个容器就是集合。

创建集合:ArrayList<String> list = new ArrayList<>();

增删改查:

集合中不能直接添加基本数据类型,要变成对应包装类

2.集合练习

(1)添加字符串和整数,并遍历

  • 需求:定义一个集合,添加字符串,并进行遍历
  • 遍历格式参照:[元素1,元素2,元素3]。
import java.util.ArrayList;public class ArraryListTest {public static void main(String[] args) {ArrayList<String> sl=new ArrayList<>();sl.add("树深时见鹿");sl.add("溪午不闻钟");sl.add("野竹分青霭");sl.add("飞泉挂碧峰");String result="";String end="";for (int i = 0; i < sl.size(); i++) {if (i==sl.size()-1){end=sl.get(i);}else {result=result+sl.get(i)+",";}}String resultEnd=result+end;System.out.println("["+resultEnd+"]");}
}
  • 需求:定义一个集合,添加数字,并进行遍历。
  • 遍历格式参照:[元素1,元素2,元素3]。
import java.util.ArrayList;public class ArraryListTest {public static void main(String[] args) {ArrayList<Integer> sl=new ArrayList<>();sl.add(1);sl.add(2);sl.add(3);sl.add(4);String result="";Integer end=0;for (int i = 0; i < sl.size(); i++) {if (i==sl.size()-1){end=sl.get(i);}else {result=result+sl.get(i)+",";}}String resultEnd=result+end;System.out.println("["+resultEnd+"]");}
}

(2)添加学生对象并遍历

  • 需求:定义一个集合,添加一些学生对象,并进行遍历
  • 学生类的属性为:姓名,年龄。
import java.util.ArrayList;public class ArraryListTest {public static void main(String[] args) {//1.创建集合ArrayList<Student> sl=new ArrayList<>();//2.创建学生对象Student s1=new Student("张三",20);Student s2=new Student("李四",21);Student s3=new Student("赵五",22);//3.将对象添加到集合sl.add(s1);sl.add(s2);sl.add(s3);for (int i = 0; i < sl.size(); i++) {System.out.println(sl.get(i).getName()+","+sl.get(i).getAge());}}
}
  • 需求:定义一个集合,添加一些学生对象,并进行遍历
  • 学生类的属性为:姓名,年龄。
  • 对象的数据来自键盘录入。
import java.util.ArrayList;
import java.util.Scanner;public class ArraryListTest {public static void main(String[] args) {//1.创建集合ArrayList<Student> sl=new ArrayList<>();Scanner sc=new Scanner(System.in);//2.创建学生对象,给对象赋值for (int i = 0; i < 3; i++) {//会创建3个对象,将3个不同的地址放到集合Student stu=new Student();System.out.print("请输入姓名:");String name=sc.next();stu.setName(name);System.out.print("请输入年龄:");int age=sc.nextInt();stu.setAge(age);sl.add(stu);}//遍历for (int i = 0; i < sl.size(); i++) {System.out.println(sl.get(i).getName()+","+sl.get(i).getAge());}}
}

(3)查找用户是否存在

需求:

  • 1.main方法中定义一个集合,存入三个用户对象。用户属性:id,username,password
  • 2.要求:定义一个方法,根据id查找对应的用户信息。如果存在返回true,不存在返回false。
//用户类
public class Users {private String id;private String username;private String password;public Users() {}public Users(String id, String username, String password) {this.id = id;this.username = username;this.password = password;}public String getId() {return id;}public void setId(String id) {this.id = id;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}
}
import java.util.ArrayList;public class ArraryListTest {public static void main(String[] args) {//1.创建集合ArrayList<Users> sl=new ArrayList<>();Users u1=new Users("a01","zhangsan","123456");Users u2=new Users("a02","lisi","abcdef");Users u3=new Users("a03","zhaowu","abc123");sl.add(u1);sl.add(u2);sl.add(u3);System.out.println(search(sl,"a01"));}public static boolean search(ArrayList<Users> sl,String id) {for (int i = 0; i < sl.size(); i++) {if(sl.get(i).getId().equals(id)){return true;}}return false;}
}

(4)返回多个数据

  • 添加手机对象并返回要求的数据
  • 需求:定义Javabean类:Phone。Phone属性:品牌,价格。
  • main方法中定义一个集合,存入三个手机对象。
  • 分别为:小米,1000;苹果,8000;锤子2999.
  • 定义一个方法,将价格低于3000的手机信息返回。
import java.util.ArrayList;public class ArraryListTest {public static void main(String[] args) {//1.创建集合ArrayList<Phone> sl=new ArrayList<>();//2.创建对象并添加入集合Phone p1=new Phone("小米",1000);Phone p2=new Phone("苹果",8000);Phone p3=new Phone("锤子",2999);sl.add(p1);sl.add(p2);sl.add(p3);//调用compare方法,将价格低于3000的手机信息返回ArrayList<Phone>result=compare(sl);//遍历for (int i = 0; i < result.size(); i++) {System.out.println(result.get(i).getBrand()+","+result.get(i).getPrice());}}
//如果我们要返回多个数据,可以把这些数据先放到一个容器中,再把容器返回(容器可以是集合/数组)public static ArrayList<Phone> compare(ArrayList<Phone> sl) {ArrayList<Phone> result=new ArrayList<>();for (int i = 0; i < sl.size(); i++) {if(sl.get(i).getPrice()<3000){String brand=sl.get(i).getBrand();int price=sl.get(i).getPrice();Phone p=new Phone(brand,price);result.add(p);}}return result;}
}

(day5) 自学Java——ArrayList集合相关推荐

  1. java ArrayList集合

    ArrayList集合是程序中最常见的一种集合,它属于引用数据类型(类).在ArrayList内部封装了一个长度可变的数组,当存入的元素超过数组长度时,ArrayList会在内存中分配一个更大的数组来 ...

  2. java ArrayList集合概述和基本使用 基础

    数组与ArrayList的区别:  1.数组的长度不可以发生改变  2.ArrayList集合的长度是可以随意发生变化 常用 ArrayList()           构造一个初始容量为 10 的空 ...

  3. Java ArrayList集合常用方法

    创建对象:与其他普通的引用数据类型创建方式完全相同,但要指定容器中存储的数据类型: ArrayList<要存储元素的数据类型> 变量名 = new ArrayList<要存储元素的数 ...

  4. Java学习之路-day-09 ArrayList集合

    Java ArrayList集合 每日一句 1. ArrayList 1.1 ArrayList类概述 1.2 ArrayList类常用方法 1.3 ArrayList存储字符串并遍历 1.4 Arr ...

  5. java print快捷键_Java的ArrayList集合使用---唐代诗人斗地主!!!

    一.集合如何实现斗地主? 我们现实生活中关于斗地主,首先要有一副牌,然后把牌洗一下,在然后发牌,最后抢地主!因此斗地主需要以下的5步! 创建牌盒,定义一个集合对象,用ArrayList实现 往牌盒里装 ...

  6. java 集合自定义元素_java集合 collection-list-ArrayList 将自定义对象作为元素存到ArrayList集合中,并去除重复元素。...

    import java.util.*;/*将自定义对象作为元素存到ArrayList集合中,并去除重复元素. 比如:存人对象.同姓名同年龄,视为同一个人.为重复元素. 思路: 1,对人描述,将数据封装 ...

  7. Java的ArrayList集合_JAVA之ArrayList集合

    /** * ArrayList集合讲解 * 集合的添加.遍历.删除 */ package com.test; import java.util.*; public class test7 { /** ...

  8. (Java)ArrayList集合

    ArrayList集合概述和基本使用 ArrayList是可以动态增长和缩减的索引序列,它是基于数组实现的List类. 数组的长度不可以发生改变,但是ArrayList的长度是可以随时变化的 对于Ar ...

  9. JAVA之ArrayList集合

    /**  * ArrayList集合讲解  * 集合的添加.遍历.删除  */ package com.test; import java.util.*; public class test7 { / ...

最新文章

  1. vc++ mfc 非客户区 描绘线_决战客户端技术
  2. Modbus协议栈开发笔记之八:Modbus ASCII Master开发
  3. 魔兽争霸III 1.20, 1.21 1.22 需要特定语言版本之Window 解决办法
  4. 文本序号添加/移除工具
  5. maven+springMvc+velocity
  6. 朝鲜黑掉韩国政府版 Word
  7. 判断文件格式并输出文件流
  8. 一千行代码铸造Terminal文本编辑器
  9. haneWIN NFS Server for Windows
  10. html用css设置图片大小,css如何设置图片大小?
  11. PR视频剪辑(项目包装)
  12. blockchain 初步了解区块链
  13. “自学IT能走多远”
  14. 遇到一位贵人是什么体验,贵人到底有多重要?
  15. Android系统移植与调试之-------build.prop文件详细赏析
  16. 【nodejs】c++ addon 官方例子:nodejs调用c++
  17. Windows 11系统设置文件夹默认显示方式为“大图标”的方法
  18. 什么是3G工程师,3G工程师知识储备
  19. 打印_battery_status.scale
  20. 【iot-manager】(1)IOT商业化和未来竞争、淘汰还在继续,需要折腾一个开源IOT系统,参考Rancher开源Octopus:IoT设备管理系统做一个物联网管理系统

热门文章

  1. html parent 属性,parentNode属性怎么用?
  2. 设计原则之迪米特法则
  3. 年年双十一,年年抢不到,自制Python淘宝秒杀抢购脚本,百分百中
  4. rdflib解析protege的owl文件
  5. 超简单在宝塔面板中使用Mysql命令快速导入大容量数据库
  6. 电脑删除文件提示错误:0x80070091目录不是空的 无法删除的解决办法
  7. class4-操作列表
  8. Centos7#基础服务之计划任务服务
  9. 石上优想要逃离(map)
  10. Android 9.0 https适配问题