集合java

1.集合

ArrayList

集合和数组的优势对比:

长度可变

添加数据的时候不需要考虑索引,默认将数据添加到末尾

java 复制代码
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));
        }
    }
}
cpp 复制代码
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;
    }
}
cpp 复制代码
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;
    }
}
cs 复制代码
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());
        }
    }
}
相关推荐
智慧物业老杨13 分钟前
智慧物业数智化转型实战:从工单响应到业主满意度的闭环构建
java·开发语言
Kiling_070415 分钟前
Java集合框架:List集合详解与应用
java·开发语言·windows
fan_music29 分钟前
C语言如何实现C++的类
开发语言·c++
极客先躯32 分钟前
高级java每日一道面试题-2025年12月08日-实战篇[Docker]-如何为 Docker 配置代理?如何为容器配置代理?
java·docker·代理配置的双层架构·docker 守护进程配置代理·为容器配置代理·构建时环境变量·运行时注入环境变量
毋语天36 分钟前
Python 常用内置模块详解:日志、随机数、时间、OS 与 JSON
开发语言·python
csdn2015_39 分钟前
java springboot 文件导入,判断第一列的值是否有重复
java·windows·spring boot
右耳朵猫AI42 分钟前
Python技术周刊 2026年第14周
开发语言·python·okhttp
叼烟扛炮1 小时前
C++ 知识点22 函数模板
开发语言·c++·算法·函数模版
~|Bernard|1 小时前
四,go语言中GMP调度模型
java·前端·golang
Tisfy1 小时前
LeetCode 2553.分割数组中数字的数位:模拟(maybe+翻转)——java也O(1)
java·数学·算法·leetcode·题解·模拟·取模