欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 新车 > Java零基础学习Day12——集合ArrayList

Java零基础学习Day12——集合ArrayList

2025/5/15 22:35:46 来源:https://blog.csdn.net/m0_68932052/article/details/147906521  浏览:    关键词:Java零基础学习Day12——集合ArrayList

一、基本使用

1. 集合与数组

集合只存引用数据类型;长度可变

数组可存基本数据类型、引用数据类型;长度固定

2. 基本格式

ArrayList<String> list = new ArrayList<>();

3. 方法

增、删

import java.util.ArrayList;
public class StringDemo {public static void main(String[] args) {ArrayList<String> list = new ArrayList<>();list.add("Hello");  // Adding strings to the listlist.add("World");list.add("Java");   // Adding more stringslist.add("Python");boolean result1 = list.remove("Hello");  // Removing "Hello"System.out.println(result1);System.out.println(list);boolean result2 = list.remove("Word");System.out.println(result2);System.out.println(list);String str = list.remove(0);System.out.println(str);System.out.println(list);}
}

改、查

import java.util.ArrayList;
public class StringDemo {public static void main(String[] args) {ArrayList<String> list = new ArrayList<>();list.add("Hello");  // Adding strings to the listlist.add("World");list.add("Java");   // Adding more stringslist.add("Python");//改String result = list.set(0, "hi");System.out.println(result);System.out.println(list);//查String s = list.get(0);System.out.println(s);System.out.println("对集合进行遍历:");for (int i = 0; i < list.size(); i++) {String str = list.get(i);System.out.println(str);}}
}

 

二、练习

1. 集合的遍历方式

import java.util.ArrayList;
public class StringDemo {public static void main(String[] args) {ArrayList<String> list = new ArrayList<>();list.add("他");  // Adding strings to the listlist.add("是");list.add("笨");   // Adding more stringslist.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.print("]");}
}

2. 添加数字并遍历

基本数据类型对应的包装类

byteByte
shortShort
longLong
floatFloat
doubleDouble
booleanBoolean
charCharacter
intInteger

 

import java.util.ArrayList;
public class StringDemo {public static void main(String[] args) {ArrayList<Integer> list = new ArrayList<>();list.add(1);list.add(2);list.add(3);list.add(4);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("]");}
}

 

import java.util.ArrayList;
public class StringDemo {public static void main(String[] args) {ArrayList<Character> list = new ArrayList<>();list.add('a');list.add('b');list.add('c');list.add('d');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("]");}
}

 

3. 添加学生对象并遍历

指定学生对象

import java.util.ArrayList;
public class StringDemo {public static void main(String[] args) {ArrayList<Student> list = new ArrayList<>();Student s1 = new Student("张三", 18);Student s2 = new Student("李四", 19);Student s3 = new Student("王五", 20);Student s4 = new Student("赵六", 21);Student s5 = new Student("钱七", 22);list.add(s1);list.add(s2);list.add(s3);list.add(s4);list.add(s5);for (int i = 0; i < list.size(); i++) {Student str = list.get(i);System.out.println(str.getName() + " " + str.getAge());}}
}

 

键盘录入学生对象

import java.util.ArrayList;
import java.util.Scanner;
public class StringDemo {public static void main(String[] args) {ArrayList<Student> list = new ArrayList<>();Scanner sc = new Scanner(System.in);for (int i = 0; i < 3; i++) {Student s = new Student();System.out.println("Enter student name: ");s.setName(sc.next());System.out.println("Enter student age: ");s.setAge(sc.nextInt());list.add(s);}System.out.println(list.size());for (int i = 0; i < list.size(); i++) {System.out.println(list.get(i).getName()+"\t"+list.get(i).getAge());}}
}

 

4. 添加用户对象并判断是否存在

返回true或false,返回索引

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;}
}

 

import java.util.ArrayList;
public class StringDemo {public static void main(String[] args) {ArrayList<User> list = new ArrayList<>();User u1 = new User("001", "张三", "123456");  // 创建用户对象User u2 = new User("002", "李四", "654321");User u3 = new User("003", "王五", "123fjie");list.add(u1);                                  // 将用户对象添加到集合中list.add(u2);list.add(u3);int index = getIndex(list, "003");          // 调用contains方法判断集合中是否包含指定ID的用户System.out.println(index);                   // 输出结果      2System.out.println(contains(list, "003"));   // 输出结果      true}public static int getIndex(ArrayList<User> list, String id) {for (int i = 0; i < list.size(); i++) {User u = list.get(i);                      // 获取集合中的每个用户对象if (u.getId().equals(id)) {                // 判断用户ID是否与输入的ID匹配return i;}}return -1;}public static boolean contains(ArrayList<User> list, String id) {return getIndex(list, id) != -1;}
}

 

4. 返回多个数据

有两个方法,一个是视频里的,一个是我写的

import java.util.ArrayList;
public class StringDemo {public static void main(String[] args) {ArrayList<Phone> list = new ArrayList<>();Phone p1 = new Phone("VIVO", 1000);  // 创建用户对象Phone p2 = new Phone("oppo", 8000);Phone p3 = new Phone("三星", 2999);list.add(p1);                                  // 将用户对象添加到集合中list.add(p2);list.add(p3);ArrayList<Phone> newList = getPhoneInfo(list);for(int i = 0; i<newList.size(); i++){System.out.println(newList.get(i).getBrand() + " " + newList.get(i).getPrice());}System.out.println("=========================");getPhoneInfo_myself(list);}public static ArrayList<Phone> getPhoneInfo(ArrayList<Phone> list) {ArrayList<Phone> newList = new ArrayList<>();      // 创建一个新的集合用于存储符合条件的用户for (int i = 0; i < list.size(); i++) {Phone p = list.get(i);                      // 获取集合中的每个用户对象if (p.getPrice()<3000) {                // 判断用户ID是否与输入的ID匹配newList.add(p);                      // 如果匹配,则将该用户对象添加到新集合中}                                       // 如果不匹配,则继续循环}                                       // 循环结束后,返回新集合return newList;}public static void getPhoneInfo_myself(ArrayList<Phone> list) {for (int i = 0; i < list.size(); i++) {Phone p = list.get(i);                      // 获取集合中的每个用户对象if (p.getPrice()<3000) {                // 判断用户ID是否与输入的ID匹配System.out.println(p.getBrand() + " " + p.getPrice());}}}
}

 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词