石家庄住房建设局网站东莞网络营销推广专业
一.对象数组
1.对象数组使用案例
需求:将(张三,23)(李四,24)(王五,25)
封装为3个学生对象并存入数组
随后遍历数组,将学生信息输出在控制台
思路:
1. 定义学生类准备用于封装数据
2. 动态初始化长度为3的数组,类型为Student类型
3. 根据需求创建3个学生对象
4. 将学生对象存入数组
5. 遍历数组,取出每一个学生对象
6. 调用对象的getXxx方法获取学生信息,并输出在控制台
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;}
}
public class TestObjectArray {public static void main(String[] args) {// 2. 动态初始化长度为3的数组,类型为Student类型Student[] arr = new Student[3];// 3. 根据需求创建3个学生对象Student stu1 = new Student("张三",23);Student stu2 = new Student("李四",24);Student stu3 = new Student("王五",25);// 4. 将学生对象存入数组arr[0] = stu1;arr[1] = stu2;arr[2] = stu3;// 5. 遍历数组,取出每一个学生对象for (int i = 0; i < arr.length; i++) {Student temp = arr[i];System.out.println(temp.getName() + "..." + temp.getAge());}}
}
2.对象数组使用案例缺点:
当在来一个对象时,在想放到对象数组中,发现数组的长度已固定不能放入。这时候就需要一个可自动扩展的对象数组容器,就会用集合。
3.集合和数组的区别 :
共同点:都是存储数据的容器
不同点:数组的容量是固定的,集合的容量是可变的
二.ArrayList的构造方法和添加方法
1.ArrayList构造方法: ArrayList() 构造一个初始容量为 10 的空列表。
2.成员方法,添加:
boolean add(E e) 将指定的元素添加到此列表的尾部。
void add(int index, E element) 将指定的元素插入此列表中的指定位置。
3.注意:
集合容器如果没有加入<> 就可以存储任意数据类型
<> 泛型: 对集合容器存储的数据类型进行限制
public class Demo1ArrayList {public static void main(String[] args) {// 1. 创建集合容器对象ArrayList<String> list = new ArrayList<>();// 2. 调用对象的add方法, 向容器中添加数据list.add("111");list.add("222");list.add("333");list.add("444");list.add("555");list.add(0,"666"); //如果索引不存在会报错System.out.println(list); //[666,222,333,444,555]}
}
三.ArrayList类常用方法
1.添加:
boolean add(E e) 将指定的元素添加到此列表的尾部。
void add(int index, E element) 将指定的元素插入此列表中的指定位置。
2.删除:
public boolean remove(Object o) 删除指定的元素,返回删除是否成功
public E remove(int index) 删除指定索引处的元素,返回被删除的元素
3.修改:
public E set(int index,E element) 修改指定索引处的元素,返回被修改的元素
4.查询:
public E get(int index) 返回指定索引处的元素
public int size() 返回集合中的元素的个数
public class Demo2ArrayList {public static void main(String[] args) {ArrayList<String> list = new ArrayList<>();list.add("abc");list.add("111");list.add("222");list.add("333");list.add("444");list.add("555");//public E get(int index) 返回指定索引处的元素String s1 = list.get(0); //abcString s2 = list.get(1); //111String s3 = list.get(2); //222//public int size() 返回集合中的元素的个数int size = list.size();System.out.println(size); //6}public static void testSet() {ArrayList<String> list = new ArrayList<>();list.add("abc");list.add("111");list.add("222");list.add("333");list.add("444");list.add("555");//public E set(int index,E element) 修改指定索引处的元素,返回被修改的元素String s = list.set(0,"666");System.out.println(s); //abcSystem.out.println(list); //[666,111,222,333,444,555]}public static void testRemove() {ArrayList<String> list = new ArrayList<>();list.add("abc");list.add("111");list.add("222");list.add("333");list.add("444");list.add("555");//public boolean remove(Object o) 删除指定的元素,返回删除是否成功boolean b1 = list.remove("abc"); //存在返回trueboolean b2 = list.remove("zzz"); //不存在返回falseSystem.out.println(list); //[111,222,333,444,555]//public E remove(int index) 删除指定索引处的元素,返回被删除的元素String s = list.remove(0); //111System.out.println(list); //[222,333,444,555]}
}
四. 更多精彩内容访问下面链接
http://www.gxcode.top/code