1.集合
ArrayList
集合和数组的优势对比:
长度可变
添加数据的时候不需要考虑索引,默认将数据添加到末尾
package com.itheima;import java.util.ArrayList;/*public boolean add(要添加的元素) | 将指定的元素追加到此集合的末尾 |
| public boolean remove(要删除的元素) | 删除指定元素,返回值表示是否删除成功
| public E remove(int index) | 删除指定索引处的元素,返回被删除的元素
| public E set(int index,E element) | 修改指定索引处的元素,返回被修改的元素
| public E get(int index) | 返回指定索引处的元素
| public int size() | 返回集合中的元素的个数*/
public class ArrayListDemo2 {public static void main(String[] args) {//1.创建一个集合对象ArrayList<String> list = new ArrayList<String>();//2.添加元素list.add("aaa");list.add("bbb");list.add("ccc");list.add("ddd");//3.删除元素boolean result = list.remove("aaa");System.out.println(list);//删除失败返回flast//根据索引删除元素,返回被删除的元素String str = list.remove(2);System.out.println(str);System.out.println(list);//4.修该元素String str2 = list.set(0, "aaa");System.out.println(str2);//返回被覆盖的元素System.out.println(list);//5.查寻元素String str3 = list.get(0);System.out.println(str3);//返回指定索引处的元素System.out.println(list);//6.遍历集合for (int i = 0; i < list.size(); i++) {//list.get(i)元素System.out.println(list.get(i));}}
}
package com.itheima;
import java.util.ArrayList;
import java.util.List;
//定义一个方法,讲价格低于3000的手机信息打印出啦
public class PhoneTest {public static void main(String[] args) {//1.创建集合ArrayList<Phone> list = new ArrayList<Phone>();//2.创建对象Phone p1 = new Phone("苹果",1000);Phone p2 = new Phone("小米",2200);Phone p3 = new Phone("锤子",3200);//3.添加数据list.add(p1);list.add(p2);list.add(p3);//4.调用方法ArrayList<Phone> phoneInfolist = getPhoneInfo(list);//5.遍历集合for (int i = 0; i < phoneInfolist.size(); i++) {Phone p = phoneInfolist.get(i);System.out.println(p.getBrand()+" "+p.getPrice());}}//如果说我们要返回多个数据,可以把这些数据先放到一个容器当中,再把容器返回//集合,数组public static ArrayList<Phone> getPhoneInfo( ArrayList<Phone> list ) {ArrayList<Phone> resultlist=new ArrayList<>();for (int i = 0; i < list.size(); i++) {Phone p = list.get(i);int price = p.getPrice();if(price<3000){resultlist.add(p);//手机对象p存再集合resultlist里}}return resultlist;}
}
package com.itheima;
import java.util.ArrayList;public class ArrayListDemo7Case {public static void main(String[] args) {//1.创建集合ArrayList<User> list = new ArrayList<User>();//2.创建三个用户对象User u1=new User("001","zhngsan","123");User u2=new User("002","li","456");User u3=new User("003","zhngsan","789");//3.添加元素list.add(u1);list.add(u2);list.add(u3);//4.调用方法看id是否存在int flag = contains(list, "002");if(flag>=0){User u = list.get(flag);System.out.println(u.getId());}else{System.out.println("不存在");}}public static int contains(ArrayList<User> list,String id){for (int i = 0; i < list.size(); i++) {if(list.get(i).getId().equals(id)){return i;}}return -1;}
}
package com.itheima;import java.util.ArrayList;
import java.util.Scanner;public class ArrayListDemo6 {public static void main(String[] args) {//1.创建集合ArrayList<Student> list=new ArrayList<>();//长度为0//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.setName(name);s.setAge(age);//把学生对象添加在集合中list.add(s);}//遍历集合for (int i = 0; i < list.size(); i++) {Student stu=list.get(i);System.out.println(stu.getName()+" "+stu.getAge());}}
}