目录
集合
集合和数组的对比
ArrayList成员方法
ArrayList成员方法代码展示
练习
集合的遍历01之字符串
集合的遍历02之数字
集合的遍历03之学生对象
集合
集合和数组的对比
- 从长度维度来看 数组长度固定 集合长度可变
- 从存储类型维度来看 数组可以存放基本数据类型和引用数据类型。集合只能存储引用数据类型, 如果要存放基本数据类型,需要将基本数据类型变成包装类。
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() | 集合的长度,即是集合中元素的个数 |
ArrayList成员方法代码展示
import java.util.ArrayList;
public class Test19 {
public static void main(String[] args) {
//1.创建一个集合 <>里面是泛型 限制集合里面的元素类型
ArrayList<String> list = new ArrayList<String>();
//2.添加元素
list.add("a"); //返回值为boolean类型
list.add("b");
//3.删除元素
list.remove("a"); //返回值为boolean类型
list.remove(0);//里面填索引,会返回被删除的元素
//4.修改元素
list.set(1,"c");//返回被修改的元素
//5.查询元素
list.get(0);//返回查询的元素
//6.获取集合的长度
list.size();
}
}
练习
集合的遍历01之字符串
需求:定义一个集合,添加字符串,并进行遍历。结果:[元素1,元素2,元素3]
import java.util.ArrayList;
public class Test20 {
public static void main(String[] args) {
//1.创建集合
ArrayList<String> list = new ArrayList<String>();
//2.添加元素
list.add("zhang");
list.add("re");
list.add("da");
list.add("ad");
//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.print("]");
//结果 : [zhang,re,da,ad]
}
}
集合的遍历02之数字
需求:定义一个集合,添加数字,并进行遍历。结果:[元素1,元素2,元素3]
问题 : 数字的泛型是什么?众所周知,集合里面要存放基本数据类型,需要将其变成包装类
基本数据类型对应的包装类
基本数据类型 | 包装类 |
---|---|
byte | Byte |
char | Character |
short | Short |
int | Integer |
boolean | Boolean |
float | Float |
double | Double |
long | Long |
import java.util.ArrayList;
public class Test21 {
public static void main(String[] args) {
//1.创建集合 将int类型变成包装类Integer
ArrayList<Integer> list = new ArrayList<>();
//2.添加元素
list.add(1);
list.add(2);
list.add(3);
list.add(4);
list.add(5);
//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.print("]");
}
}
//结果 [1,2,3,4,5]
集合的遍历03之学生对象
需求:定义一个集合,添加一些学生对象,并进行遍历学生类的属性(姓名,年龄)
1.创建Student类,并编写相关成员变量和成员方法以及构造方法
public class Student {
//1.私有化成员变量
//2.空参构造方法和带全部参数的构造方法
//3.针对每个成员变量编写set方法和get方法
private String name;
private int age;
//空参构造方法
public Student() {
}
//带全部参数的构造方法
public Student(String name,int age){
this.name = name;
this.age = age;
}
//关于名字name的get方法
public String getName() {
return name;
}
//关于名字name的set方法
public void setName(String name) {
this.name = name;
}
//关于年龄age的get方法
public int getAge() {
return age;
}
//关于年龄age的set方法
public void setAge(int age) {
this.age = age;
}
}
2.定义一个集合,添加一些学生对象,并进行遍历学生类的属性(姓名,年龄)
import java.util.ArrayList;
public class StudentTest {
public static void main(String[] args) {
//1.创建集合对象
ArrayList<Student> list = new ArrayList<>();
//2.创建学生对象 赋值属性
Student s1 = new Student("张三",18);
Student s2 = new Student("李四",19);
Student s3 = new Student("王五",20);
//3.添加元素
list.add(s1);
list.add(s2);
list.add(s3);
//4.遍历集合
for (int i = 0; i < list.size(); i++) {
Student stu = list.get(i);
System.out.println(stu.getName()+" "+stu.getAge());
}
//5.运行结果
// 张三 18
// 李四 19
// 王五 20
}
}