一、基本使用
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. 添加数字并遍历
基本数据类型对应的包装类
byte | Byte |
short | Short |
long | Long |
float | Float |
double | Double |
boolean | Boolean |
char | Character |
int | Integer |
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());}}}
}