一、集合的基本使用
1.ArrayList 概述:
ArrayList 是 Java 中基于动态数组实现的集合类,属于 java.util 包。它支持动态扩容,允许存储重复元素和 null 值。
创建格式:
ArrayList list = new ArrayList<>();
其中<>称为泛型,用来限定集合中存储数据的类型
2.ArrayList成员方法
| 方法名 | 说明 |
|---|---|
| boolean add(E e) | 添加元素,返回值表示是否添加成功 |
| boolean remove(E e) | 删除指定元素,返回值表示是否删除成功 |
| E remove(int index) | 删除指定索引的元素,返回被删除元素 |
| E set(int index,E e) | 修改指定索引下的元素,返回原来的元素 |
| E get(int index) | 获取指定索引的元素 |
| int size() | 集合的长度,也就是集合中元素的个数 |
import java.util.ArrayList;
public class ArrayListDemo1 {
public static void main(String[] args) {
//1.创建对象
ArrayList<String> list = new ArrayList<>();
//2.添加元素
list.add("aaa");
list.add("bbb");
list.add("ccc");
list.add("ddd");
//3.删除元素
boolean result1 = list.remove("aaa");
System.out.println(result1);
boolean result2 = list.remove("zzz");
System.out.println(result2);
String str = list.remove(0);
System.out.println(str);
//修改元素
String result = list.set(1,"zzz");
System.out.println(result);
//查询元素
String s = list.get(0);
System.out.println(s);
//集合的长度
int length = list.size();
System.out.println(length);
//遍历
for (int i = 0; i < list.size(); i++) {
String str1 = list.get(i);
System.out.println(str1);
}
System.out.println(list);
}
}

二、练习
1.添加字符串以及遍历
需求:定义一个集合,添加字符串,并进行遍历
格式参照:[元素1,元素2,元素3]
import java.util.ArrayList;
public class ArrayListTest1 {
public static void main(String[] args) {
//需求:定义一个集合,添加字符串,并进行遍历
//格式参照:[元素1,元素2,元素3]
//1.创建集合
ArrayList<String> list = new ArrayList<>();
//2.添加元素 ctrl+d 复制上一行
list.add("点赞了吗?");
list.add("收藏了吗?");
list.add("投币了吗?");
list.add("转发了吗?");
//3.遍历
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("]");
}
}

2.添加学生对象并遍历
需求:定义一个集合,添加一些学生对象,并进行遍历,键盘录入
学生类的属性为:姓名,年龄。
Student.java
public class Student {
private String name;
private int age;
public Student() {
}
public Student(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
import java.util.ArrayList;
import java.util.Scanner;
public class ArrayListTest4 {
public static void main(String[] args) {
//需求:定义一个集合,添加一些学生对象,并进行遍历,键盘录入
//学生类的属性为:姓名,年龄。
//1.创建集合
ArrayList<Student> list = new ArrayList<>();
//2.键盘录入学生信息并添加到集合中
Scanner sc = new Scanner(System.in);
for (int i = 0; i < 3; i++) {
Student s = new Student();
System.out.println("请输入学生姓名");
String name = sc.next();
System.out.println("请输入学生年龄");
int age = sc.nextInt();
//把name和age赋值给学生对象
s.setAge(age);
s.setName(name);
//把学生对象添加到集合当中
list.add(s);
}
//4.遍历集合
for (int i = 0; i < list.size(); i++) {
Student stu = list.get(i);
System.out.println(stu.getName() + ", " + stu.getAge());
}
}
}

3.添加手机对象并返回要求的数据
需求:main方法中定义一个集合,存入三个手机对象
分别为:小米,1000;苹果,8000;锤子,2999
定义一个方法,将价格低于3000的手机信息返回
Phone类略
import java.util.ArrayList;
public class ArrayListTest6 {
public static void main(String[] args) {
//添加手机对象并返回要求的数据
//需求:main方法中定义一个集合,存入三个手机对象
//分别为:小米,1000;苹果,8000;锤子,2999
//定义一个方法,将价格低于3000的手机信息返回
//定义集合
ArrayList<Phone> list = new ArrayList<>();
//定义对象
Phone p1 = new Phone("小米",1000);
Phone p2 = new Phone("苹果",8000);
Phone p3 = new Phone("锤子",2999);
//添加
list.add(p1);
list.add(p2);
list.add(p3);
ArrayList<Phone> phoneInfo = contains(list);
for (int i = 0; i < phoneInfo.size(); i++) {
Phone phone = phoneInfo.get(i);
System.out.println(phone.getBrand() + ", " + phone.getPrice());
}
}
//如果要返回多个数据,可以将数据放到容器中,将容器返回
public static ArrayList<Phone> contains(ArrayList<Phone> list){
ArrayList<Phone> resultList = new ArrayList<>();
for (int i = 0; i < list.size(); i++) {
Phone p = list.get(i);
if(p.getPrice() < 3000){
resultList.add(p);
}
}
return resultList;
}
}

459

被折叠的 条评论
为什么被折叠?



