day08

    xiaoxiao2021-03-25  98

    集合

    1.集合的由来? 之前的容器: 数组 StringBuilder StringBuffer 一个集合中可以装不同的数据。 2.ArrayList的添加方法 /* * 1.ArrayList 类 * 构造: ArrayList() * 调用空参构造创建对象:ArrayList al = new ArrayList(); * 2.添加方法: * add(E e) 直接给集合中添加元素 * add(int index , E e) 在指定所以出添加元素 */ 3. //static void reverse(List<?> list) //集合反转 Collections.reverse(al3); for (int i = 0; i < al3.size(); i++) { System.err.println(al3.get(i)); } public class ArrayListTest { public static void main(String[] args) { //有黄线(警告:暂时没风险,建议你确定一下,ArrayList容器,只装一种数据类型) ArrayList al = new ArrayList(); al.add("abc"); al.add(20); al.add(true); System.out.println(al); //[abc, 20, true] ArrayList<String> al2 = new ArrayList<>();//只要JDK为1.7 后面<>不用写 al2.add("aaa"); //al2.add(123); //报错:只能装String类型 al2.add("bbb"); al2.add("ccc"); al2.add(1, "ooo"); System.out.println(al2); } } 3.增删改查的方法 import java.util.ArrayList; /* * 获取元素 * public E get(int index):返回指定索引处的元素 * 集合长度 * public int size():返回集合中的元素的个数 * 删除元素 * public boolean remove(Object o):删除指定的元素,返回删除是否成功 * public E remove(int index):删除指定索引处的元素,返回被删除的元素 * 修改元素 * public E set(int index,E element):修改指定索引处的元素,返回被修改的元素 */ public class ArrayListDemo2 { public static void main(String[] args) { //创建集合对象 ArrayList<String> array = new ArrayList<String>(); //添加元素 array.add("hello"); array.add("world"); array.add("java"); //public E get(int index):返回指定索引处的元素 //System.out.println("get:"+array.get(0)); //System.out.println("get:"+array.get(1)); //System.out.println("get:"+array.get(2)); //public int size():返回集合中的元素的个数 //System.out.println("size:"+array.size()); //public boolean remove(Object o):删除指定的元素,返回删除是否成功 //System.out.println("remove:"+array.remove("world"));//true //System.out.println("remove:"+array.remove("world"));//false //public E remove(int index):删除指定索引处的元素,返回被删除的元素 //System.out.println("remove:"+array.remove(0)); //public E set(int index,E element):修改指定索引处的元素,返回被修改的元素 System.out.println("set:"+array.set(1, "android")); //输出 System.out.println("array:"+array); } } 4.集合的遍历 1)获取长度 int arraylist.size() 2) 获取元素 E get(int index); /* * ArrayList集合的遍历 * 通过size()和get()配合实现的 */ public class ArrayListDemo3 { public static void main(String[] args) { //创建集合对象 ArrayList<String> array = new ArrayList<String>(); //添加元素 array.add("hello"); array.add("world"); array.add("java"); //最标准的用法 for(int x=0; x<array.size(); x++) { String s = array.get(x); System.out.println(s); } } } 5.练习: 给定一个字符串数组:{“张三丰”,“宋远桥”,“张无忌”,“殷梨亭”“张翠山”,“莫声谷”} 将数组中的元素添加到集合中 把所有姓张的人员打印到控制台上 参考: /* * 给定一个字符串数组:{“张三丰”,“宋远桥”,“张无忌”,“殷梨亭”,“张翠山”,“莫声谷”},将数组中的元素添加到集合中,并把所有姓张的人员打印到控制台上。 * * 分析: * A:定义字符串数组 * B:创建集合对象 * C:遍历字符串数组,获取到每一个字符串元素 * D:把获取到的字符串元素添加到集合 * E:遍历集合 * 要判断每一个字符串元素是否以"张"开头,如果是,就输出在控制台 */ public class ArrayListTest2 { public static void main(String[] args) { //定义字符串数组 String[] strArray = {"张三丰","宋远桥","张无忌","殷梨亭","张翠山","莫声谷"}; //创建集合对象 ArrayList<String> array = new ArrayList<String>(); //遍历字符串数组,获取到每一个字符串元素 for(int x=0; x<strArray.length; x++) { //把获取到的字符串元素添加到集合 array.add(strArray[x]); } //遍历集合 for(int x=0; x<array.size(); x++) { String s = array.get(x); //要判断每一个字符串元素是否以"张"开头,如果是,就输出在控制台 if(s.startsWith("张")) { System.out.println(s); } } } } 练习: 1.自定义一个学生类,学生中有姓名和年龄属性,生成满参构造与空参构造生成属性对应的getter/setter方法 在测试类中使用满参构造创建三个学生对象,然后将每个学生对象均添加到ArrayList集合中 遍历这个ArrayList集合,依次打印出每个学生的姓名和年龄 练习:创建一个集合,存储学生对象,学生对象的数据来自于键盘录入,最后,遍历集合 public class Student { private String name; private String age; public Student() { } public Student(String name, String age) { this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAge() { return age; } public void setAge(String age) { this.age = age; } } /* * 创建一个集合,存储学生对象,学生对象的数据来自于键盘录入,最后,遍历集合 * * 注意:为了方便使用,我把学生类中的所有成员定义为String类型 * * 分析: * A:定义学生类 * B:创建集合对象 * C:键盘录入数据,创建学生对象,把键盘录入的数据赋值给学生对象的成员变量 * D:把学生对象作为元素存储到集合中 * E:遍历集合 * */ public class StudentDemo { public static void main(String[] args) { //创建集合对象 ArrayList<Student> array = new ArrayList<Student>(); //调用方法 addStudent(array); addStudent(array); addStudent(array); //遍历集合 for(int x=0; x<array.size(); x++) { Student s = array.get(x); System.out.println(s.getName()+"---"+s.getAge()); } } public static void addStudent(ArrayList<Student> array) { //键盘录入数据,创建学生对象,把键盘录入的数据赋值给学生对象的成员变量 Scanner sc = new Scanner(System.in); System.out.println("请输入学生姓名:"); String name = sc.nextLine(); System.out.println("请输入学生年龄:"); String age = sc.nextLine(); Student s = new Student(name,age); //把对象添加进集合 array.add(s); } }
    转载请注明原文地址: https://ju.6miu.com/read-24584.html

    最新回复(0)