1. package com.heima.domain;
    2. public class Student {
    3. private String name;
    4. private int age;
    5. public Student() {
    6. }
    7. public Student(String name, int age) {
    8. this.name = name;
    9. this.age = age;
    10. }
    11. public String getName() {
    12. return name;
    13. }
    14. public void setName(String name) {
    15. this.name = name;
    16. }
    17. public int getAge() {
    18. return age;
    19. }
    20. public void setAge(int age) {
    21. this.age = age;
    22. }
    23. }
    1. package com.heima.array;
    2. import com.heima.domain.Student;
    3. public class TestObjectArray {
    4. /*
    5. 需求:将(张三,23)(李四,24)(王五,25)
    6. 封装为3个学生对象并存入数组
    7. 随后遍历数组,将学生信息输出在控制台
    8. 思路:
    9. 1. 定义学生类准备用于封装数据
    10. 2. 动态初始化长度为3的数组,类型为Student类型
    11. 3. 根据需求创建3个学生对象
    12. 4. 将学生对象存入数组
    13. 5. 遍历数组,取出每一个学生对象
    14. 6. 调用对象的getXxx方法获取学生信息,并输出在控制台
    15. */
    16. public static void main(String[] args) {
    17. // 2. 动态初始化长度为3的数组,类型为Student类型
    18. Student[] arr = new Student[3];
    19. // 3. 根据需求创建3个学生对象
    20. Student stu1 = new Student("张三",23);
    21. Student stu2 = new Student("李四",24);
    22. Student stu3 = new Student("王五",25);
    23. // 4. 将学生对象存入数组
    24. arr[0] = stu1;
    25. arr[1] = stu2;
    26. arr[2] = stu3;
    27. // 5. 遍历数组,取出每一个学生对象
    28. for (int i = 0; i < arr.length; i++) {
    29. Student temp = arr[i];
    30. System.out.println(temp.getName() + "..." + temp.getAge());
    31. }
    32. }
    33. }
    1. package com.heima.list;
    2. import java.util.ArrayList;
    3. public class Demo1ArrayList {
    4. /*
    5. ArrayList构造方法:
    6. ArrayList() 构造一个初始容量为 10 的空列表。
    7. 成员方法:
    8. 添加:
    9. boolean add(E e) 将指定的元素添加到此列表的尾部。
    10. void add(int index, E element) 将指定的元素插入此列表中的指定位置。
    11. 注意:
    12. 集合容器如果没有加入<> 就可以存储任意数据类型
    13. <> 泛型: 对集合容器存储的数据类型进行限制
    14. */
    15. public static void main(String[] args) {
    16. // 1. 创建集合容器对象
    17. ArrayList<String> list = new ArrayList<>();
    18. // 2. 调用对象的add方法, 向容器中添加数据
    19. list.add("111");
    20. list.add("222");
    21. list.add("333");
    22. list.add("444");
    23. list.add("555");
    24. list.add(0,"666");
    25. System.out.println(list);
    26. }
    27. }
    1. package com.heima.list;
    2. import java.util.ArrayList;
    3. public class Demo2ArrayList {
    4. /*
    5. 集合常用成员方法:
    6. 添加:
    7. boolean add(E e) 将指定的元素添加到此列表的尾部。
    8. void add(int index, E element) 将指定的元素插入此列表中的指定位置。
    9. 删除:
    10. public boolean remove(Object o) 删除指定的元素,返回删除是否成功
    11. public E remove(int index) 删除指定索引处的元素,返回被删除的元素
    12. 修改:
    13. public E set(int index,E element) 修改指定索引处的元素,返回被修改的元素
    14. 查询:
    15. public E get(int index) 返回指定索引处的元素
    16. public int size() 返回集合中的元素的个数
    17. */
    18. public static void main(String[] args) {
    19. ArrayList<String> list = new ArrayList<>();
    20. list.add("abc");
    21. list.add("111");
    22. list.add("222");
    23. list.add("333");
    24. list.add("444");
    25. list.add("555");
    26. // public E get(int index) 返回指定索引处的元素
    27. String s1 = list.get(0);
    28. String s2 = list.get(1);
    29. String s3 = list.get(2);
    30. System.out.println(s1);
    31. System.out.println(s2);
    32. System.out.println(s3);
    33. // public int size() 返回集合中的元素的个数
    34. int size = list.size();
    35. System.out.println(size);
    36. }
    37. public static void testSet() {
    38. ArrayList<String> list = new ArrayList<>();
    39. list.add("abc");
    40. list.add("111");
    41. list.add("222");
    42. list.add("333");
    43. list.add("444");
    44. list.add("555");
    45. // public E set(int index,E element) 修改指定索引处的元素,返回被修改的元素
    46. String s = list.set(0,"666");
    47. System.out.println(s);
    48. System.out.println(list);
    49. }
    50. public static void testRemove() {
    51. ArrayList<String> list = new ArrayList<>();
    52. list.add("abc");
    53. list.add("111");
    54. list.add("222");
    55. list.add("333");
    56. list.add("444");
    57. list.add("555");
    58. // public boolean remove(Object o) 删除指定的元素,返回删除是否成功
    59. boolean b1 = list.remove("abc");
    60. boolean b2 = list.remove("zzz");
    61. System.out.println(b1);
    62. System.out.println(b2);
    63. System.out.println(list);
    64. // public E remove(int index) 删除指定索引处的元素,返回被删除的元素
    65. String s = list.remove(0);
    66. System.out.println(s);
    67. System.out.println(list);
    68. }
    69. }
    1. package com.heima.test;
    2. import java.util.ArrayList;
    3. public class Test1 {
    4. /*
    5. 需求:创建一个存储字符串的集合,存储3个字符串元素,使用程序实现在控制台遍历该集合
    6. 思路:
    7. 1. 创建集合对象
    8. 2. 往集合中添加字符串对象
    9. 3. 遍历集合
    10. 获取到集合中的每一个元素,这个通过get(int index)方法实现
    11. 获取到集合的长度,这个通过size()方法实现
    12. */
    13. public static void main(String[] args) {
    14. // 1. 创建集合对象
    15. ArrayList<String> list = new ArrayList<>();
    16. // 2. 往集合中添加字符串对象
    17. list.add("张三");
    18. list.add("李四");
    19. list.add("王五");
    20. // 3. 遍历集合
    21. for (int i = 0; i < list.size(); i++) {
    22. String s = list.get(i);
    23. System.out.println(s);
    24. }
    25. }
    26. }
    1. package com.heima.test;
    2. import com.heima.domain.Student;
    3. import java.util.ArrayList;
    4. public class Test2 {
    5. /*
    6. 需求:创建一个存储学生对象的集合,存储3个学生对象,使用程序实现在控制台遍历该集合
    7. 思路:
    8. 1. 定义学生类
    9. 2. 创建集合对象
    10. 3. 创建学生对象
    11. 4. 添加学生对象到集合中
    12. 5. 遍历集合,采用通用遍历格式实现
    13. */
    14. public static void main(String[] args) {
    15. // 2. 创建集合对象
    16. ArrayList<Student> list = new ArrayList<>();
    17. // 3. 创建学生对象
    18. Student stu1 = new Student("张三1",23);
    19. Student stu2 = new Student("张三2",23);
    20. Student stu3 = new Student("张三3",23);
    21. // 4. 添加学生对象到集合中
    22. list.add(stu1);
    23. list.add(stu2);
    24. list.add(stu3);
    25. // 5. 遍历集合,采用通用遍历格式实现
    26. for (int i = 0; i < list.size(); i++) {
    27. Student stu = list.get(i);
    28. System.out.println(stu.getName() + "..." + stu.getAge());
    29. }
    30. }
    31. }
    1. package com.heima.test;
    2. import com.heima.domain.Student;
    3. import java.util.ArrayList;
    4. import java.util.Scanner;
    5. public class Test3 {
    6. /*
    7. 需求:创建一个存储学生对象的集合,存储3个学生对象,使用程序实现在控制台遍历该集合
    8. 学生的姓名和年龄来自于键盘录入
    9. 思路:
    10. 1. 定义学生类
    11. 2. 创建集合对象
    12. 3. 键盘录入学生对象所需要的数据
    13. 4. 创建学生对象,把键盘录入的数据赋值给学生对象的成员变量
    14. 5. 往集合中添加学生对象
    15. 6. 遍历集合,采用通用遍历格式实现
    16. */
    17. public static void main(String[] args) {
    18. // 2. 创建集合对象
    19. ArrayList<Student> list = new ArrayList<>();
    20. Student stu1 = getStudent();
    21. Student stu2 = getStudent();
    22. Student stu3 = getStudent();
    23. // 5. 往集合中添加学生对象
    24. list.add(stu1);
    25. list.add(stu2);
    26. list.add(stu3);
    27. // 6. 遍历集合,采用通用遍历格式实现
    28. for (int i = 0; i < list.size(); i++) {
    29. Student stu = list.get(i);
    30. System.out.println(stu.getName() + "..." + stu.getAge());
    31. }
    32. }
    33. public static Student getStudent() {
    34. // 3. 键盘录入学生对象所需要的数据
    35. Scanner sc = new Scanner(System.in);
    36. System.out.println("请输入学生姓名:");
    37. // next() nextInt();
    38. String name = sc.next();
    39. System.out.println("请输入学生年龄:");
    40. int age = sc.nextInt();
    41. // 4. 创建学生对象,把键盘录入的数据赋值给学生对象的成员变量
    42. Student stu = new Student(name, age);
    43. return stu;
    44. }
    45. }
    1. package com.heima.test;
    2. import java.util.ArrayList;
    3. public class Test4 {
    4. /*
    5. 需求:创建一个存储String的集合
    6. 内部存储(test,张三,李四,test,test)字符串
    7. 删除所有的test字符串,删除后,将集合剩余元素打印在控制台
    8. 思路:
    9. 1. 创建集合对象
    10. 2. 调用add方法,添加字符串
    11. 3. 遍历集合,取出每一个字符串元素
    12. 4. 加入if判断,如果是test字符串,调用remove方法删除
    13. 5. 打印集合元素
    14. // 注意: 根据元素进行删除, 只能删除集合中的第一个元素
    15. list.remove("test");
    16. */
    17. public static void main(String[] args) {
    18. // 1. 创建集合对象
    19. ArrayList<String> list = new ArrayList<>();
    20. // 2. 调用add方法,添加字符串
    21. list.add("test");
    22. list.add("张三");
    23. list.add("李四");
    24. list.add("test");
    25. list.add("test");
    26. // 3. 遍历集合,取出每一个字符串元素
    27. for (int i = 0; i < list.size(); i++) {
    28. String s = list.get(i);
    29. // 4. 加入if判断,如果是test字符串,调用remove方法删除
    30. //if(s.equals("test")){}
    31. if("test".equals(s)){
    32. list.remove(i);
    33. i--;
    34. }
    35. }
    36. System.out.println(list);
    37. }
    38. }
    1. package com.heima.test;
    2. import com.heima.domain.Student;
    3. import java.util.ArrayList;
    4. public class Test5 {
    5. /*
    6. 需求:定义一个方法,方法接收一个集合对象(泛型为Student)
    7. 方法内部将年龄低于18的学生对象找出
    8. 并存入新集合对象,方法返回新集合。
    9. 思路:
    10. 1. 定义方法,方法的形参定义为ArrayList<Student> list
    11. 2. 方法内部定义新集合,准备存储筛选出的学生对象 ArrayList<Student> newList
    12. 3. 遍历原集合,获取每一个学生对象
    13. 4. 通过学生对象调用getAge方法获取年龄,并判断年龄是否低于18
    14. 5. 将年龄低于18的学生对象存入新集合
    15. 6. 返回新集合
    16. 7. main方法中测试该方法
    17. */
    18. public static void main(String[] args) {
    19. // 7. main方法中测试该方法
    20. ArrayList<Student> list = new ArrayList<>();
    21. Student stu1 = new Student("张三1",10);
    22. Student stu2 = new Student("张三2",10);
    23. Student stu3 = new Student("张三3",20);
    24. list.add(stu1);
    25. list.add(stu2);
    26. list.add(stu3);
    27. ArrayList<Student> newList = getList(list);
    28. for (int i = 0; i < newList.size(); i++) {
    29. Student stu = newList.get(i);
    30. System.out.println(stu.getName() + "..." + stu.getAge());
    31. }
    32. }
    33. // 1. 定义方法,方法的形参定义为ArrayList<Student> list
    34. public static ArrayList<Student> getList(ArrayList<Student> list) {
    35. // 2. 方法内部定义新集合,准备存储筛选出的学生对象 ArrayList<Student> newList
    36. ArrayList<Student> newList = new ArrayList<>();
    37. // 3. 遍历原集合,获取每一个学生对象
    38. for (int i = 0; i < list.size(); i++) {
    39. Student stu = list.get(i);
    40. // 4. 通过学生对象调用getAge方法获取年龄,并判断年龄是否低于18
    41. int age = stu.getAge();
    42. if (age < 18) {
    43. // 5. 将年龄低于18的学生对象存入新集合
    44. newList.add(stu);
    45. }
    46. }
    47. // 6. 返回新集合
    48. return newList;
    49. }
    50. }