java学习day-15 集合、ArrayList集合

张开发
2026/4/12 3:20:01 15 分钟阅读

分享文章

java学习day-15 集合、ArrayList集合
集合为什么要有集合集合就是一个容器和数组一样都是用来装东西的。集合能自动扩容可以更快的解决庞大的数据。比数组更高效。数组的长度是固定操作庞大数据时需要手动扩容。集合存储数据类型的特点数组可以存储基本数据类型也可以存储引用数据类型。但是集合只能存储储引用数据类型存储基本数据类型的时候必须转换为对应的包装类。集合和数组的对比①长度数组的长度是固定集合的长度是可变。②存储类型数组可以存储基本数据类型也可以存储引用数据类型。集合只能存储储引用数据类型存储基本数据类型转换为对应的包装类。ArrayList集合入门这里学习只是一个小小的入门。public class ArrayListTest { public static void main(String[] args) { //这里注意 // 指的是泛型,类型参数用于类的定义中则该类被称为泛型类. //JDK1.7 的写法 //ArrayListString list new ArrayListString(); //此时已经创建 ArrayList对象,而Java已经写好了这个类直接使用即可 //JDK1.8以后写法 ArrayListString list new ArrayList(); System.out.println(list); //ArrayList只能操作引用数据类行其输出的不是地址而是集合中存储的内容 //使用 ”[]“括起来的所有的内容。 //ArrayList的基本使用 } }ArrayList集合简单使用/** * 成员方法 * boolean add(E e) 添加元素从末尾添加 * void add(int index, E element) 将指定元素插入此列表中的指定位置。 * * boolean remove(E e) 删除元素从该列表中删除指定元素的第一个匹配项如果存在。 * E remove(int index) 删除此列表中指定位置的元素。 * * E set(int index, E element) 修改元素用指定的元素替换此列表中指定位置的元素。 * * E get(int index, E element) 查询元素返回此列表中指定位置的元素。 * int size() 返回此列表中的元素数。 获取长度 * * */ public class ArrayListTest { public static void main(String[] args) { //1.创建一个集合 ArrayListString list new ArrayList(); //2.添加元素 list.add(yyds); list.add(dddd); list.add(ootd); //System.out.println(list); /** //3.删除元素 list.remove(dddd); //在表中匹配删除项存在就删除 list.remove(1); //删除此列表中指定位置的元素 //System.out.println(list); */ //4.修改元素 list.set(2,hhhh);//用指定的元素替换此列表中指定位置的元素 //System.out.println(list); //5.查询元素 list.get(2); // System.out.println(list);//返回此列表中指定位置的元素 //6.遍历集合 for (int i 0; i list.size(); i) { //i:是索引 //size():集合的长度 list.get(i);//获取长度 } System.out.println(list); } }简单练习需求定义一个集合添加字段并进行遍历遍历格式参照[元素1元素2元素3...]public class ArrayListTest { /* * 需求定义一个集合添加字段并进行遍历 * 遍历格式参照[元素1元素2元素3...] * */ public static void main(String[] args) { //创建ArrayList对象 ArrayListString list new ArrayList(); //添加元素 list.add(昨天学习了); list.add(今天学习了); list.add(后天学习了); //遍历 System.out.print([); for (int i 0; i list.size(); i) { if (i list.size() - 1) { System.out.print(list.get(i)); }else { System.out.print(list.get(i), ); } } System.out.println(]); } }输出需求定义一个集合添加数字并进行遍历遍历格式参照[元素1元素2元素3...]public class ArrayListTest2 { /* * 需求定义一个集合添加数字并进行遍历 * 遍历格式参照[元素1元素2元素3...] * */ public static void main(String[] args) { // 冷知识这里的说的集合只能存放引用数据类型所以这里引入包装类 /** * * byte Byte * short Short * int Integer * char Character * long Long * float Float * double Double * boolean Boolean * */ //创建集合 ArrayListInteger list new ArrayList(); //这里JDK1.5以后呢 int 和 Integer 是自动转换 //添加元素 list.add(111); list.add(222); list.add(333); //遍历 System.out.print([); for (int i 0; i list.size(); i) { if(i list.size()-1){ System.out.print(list.get(i)); }else{ System.out.print(list.get(i), ); } } System.out.print(]); } }输出需求1.自定义集合存入三个对象用户属性idusernamepassword2.要求自定义一个方法根据id查找对应大的信息。如果存在返回true / 如果存在返回索引如果不存在返回false / 如果不存在返回-1//用户对象 public class User { private String id; private String username; private String password; public User() { } public User(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; } Override public String toString() { return User{ id id \ , username username \ , password password \ }; } } public class ArrayLListTest { public static void main(String[] args) { /* 需求 1.自定义集合存入三个对象 用户属性idusernamepassword 2.要求自定义一个方法根据id查找对应大的信息。 如果存在返回true / 如果存在返回索引 如果不存在返回false / 如果不存在返回-1 * */ //1.创建集合 ArrayListUser list new ArrayList(); //2.创建用户对象 User user1 new User(0001, aa, 111); User user2 new User(0002, jj, 222); User user3 new User(0003, cc, 333); //3.添加三个对象 list.add(user1); list.add(user2); list.add(user3); //4.调用方法查找id是否存在直接打印 System.out.println(contains(list, 0003)); //System.out.println(getIndex(list, 0004)); } public static boolean contains(ArrayListUser list, String id) { /*//遍历集合 for (int i 0; i list.size(); i) { User u list.get(i); String uid u.getId(); if (uid.equals(id)) { return true;//如果存在就返回true } } //当集合内的数据全部比较完了还是没有就直接返回false return false;*/ return getIndex(list, id) 0; } public static int getIndex(ArrayListUser list, String id) { //遍历集合 for (int i 0; i list.size(); i) { User u list.get(i); String uid u.getId(); if (uid.equals(id)) { return i;//如果存在就返回索引 } } return -1;//当集合内的数据全部比较完了还是没有就直接返回-1 } }输出需求1.定义一个手机对象Phone属性品牌brand、价格price2.定义及一个集合存入三个手机对象分别是小米3999华为7999苹果59993.定义一个方法将价格低于6999的手机信息返回//手机对象 public class Phone { // 属性品牌brand、价格price private String brand; private int price; public Phone() { } public Phone(String brand, int price) { this.brand brand; this.price price; } public String getBrand() { return brand; } public void setBrand(String brand) { this.brand brand; } public int getPrice() { return price; } public void setPrice(int price) { this.price price; } } public class ArrayListTest { /* * 需求 1.定义一个手机对象Phone 属性品牌brand、价格price 2.定义及一个集合存入三个手机对象分别是小米3999华为7999苹果5999 3.定义一个方法将价格低于6000的手机信息返回 * */ public static void main(String[] args) { //1.创建集合 ArrayListPhone list new ArrayList(); //2.创建手机对象 Phone p1 new Phone(小米, 3999); Phone p2 new Phone(华为, 7999); Phone p3 new Phone(苹果, 5999); //3.添加手机对象到集合 list.add(p1); list.add(p2); list.add(p3); //4.条用方法返回手机信息且价格低于6999 ArrayListPhone phoneInfoList getPhoneInfo(list); //5.遍历集合 for (int i 0; i phoneInfoList.size(); i) { Phone phone phoneInfoList.get(i); System.out.println(phone.getBrand(), phone.getPrice()); } } //定义方法 public static ArrayListPhone getPhoneInfo(ArrayListPhone list) { //定义集合在存放价格低于6000的手机信息 ArrayListPhone phoneList new ArrayList(); //遍历集合 for (int i 0; i list.size(); i) { Phone p list.get(i); if (p.getPrice() 6000) { phoneList.add(p); } } return phoneList; } }输出

更多文章