集合java

news2024/11/17 11:29:27

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());
        }
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1817974.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

E-R数据模型是什么?

概念模型是从现实世界到计算机世界转换的一个中间层次,在数据库设计的过程中它是比较关键的一步。因此,概念模型必须能够真实地反映现实世界中被管理事物的特征及其复杂的联系,即应该具有丰富的语义表达能力和直接模拟现实世界的能力,且具有直观、自然、语义丰富、易于用户…

「51媒体」媒体邀约-全国邀请媒体现场报道宣传

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 「51媒体」媒体邀约是一家专注于提供媒体传播方案和执行的服务公司&#xff0c;旨在通过一站式服务帮助企业或个人进行有效的媒体邀约和活动宣传。 「51媒体」提供的不仅仅是简单的媒体邀…

U盘文件删除如何恢复?4个实用技巧(含图文)

“我的u盘里保存了很多重要的文件&#xff0c;但是不知道为什么部分文件丢失&#xff0c;有什么方法可以帮我快速恢复u盘文件的吗&#xff1f;希望大家帮帮我&#xff01;” U盘作为我们日常存储和传输数据的重要工具&#xff0c;其数据的安全性和可恢复性尤为重要。当U盘中的文…

Vue22-v-model收集表单数据

一、效果图 二、代码 2-1、HTML代码 2-2、vue代码 1、v-model单选框的收集信息 v-model&#xff1a;默认收集的就是元素中的value值。 单选框添加默认值&#xff1a; 2、v-model多选框的收集信息 ①、多个选择的多选 注意&#xff1a; 此处的hobby要是数组&#xff01;&…

白酒:茅台镇白酒的品鉴会与文化交流活动

茅台镇&#xff0c;这个位于中国贵州省的小镇&#xff0c;因其与众不同的自然环境和杰出的酿酒工艺而成为世界著名的白酒产区。云仓酒庄豪迈白酒作为茅台镇的品牌&#xff0c;积极参与各种品鉴会和文化交流活动&#xff0c;向世界展示了中国白酒的魅力和文化底蕴。 近年来&…

华为云CodeArts API:API管理一体化平台 5月新特性上线啦!

CodeArts API是华为云API全生命周期管理一体化解决方案平台&#xff0c;支持开发者高效实现API设计、API开发、API测试、API托管、API运维、API变现的一站式体验。 通过以API契约为锚点&#xff0c;CodeArts API保证API各阶段数据高度一致&#xff0c;为开发者提供友好易用的A…

低功耗,大算力!最适合大模型的AI芯片是它?

在如今AI技术飞速发展的时代&#xff0c;AI加速芯片已经成为了大模型时代必不可少的核心组件。从CPU到GPU&#xff0c;再到TPU和NPU&#xff0c;各种芯片不断涌现&#xff0c;但都面临着能耗和算力的平衡问题。那么&#xff0c;有没有一种AI芯片能够同时满足低功耗和高算力的需…

(el-Transfer)操作(不使用 ts):Element-plus 中 Select 组件动态设置 options 值需求的解决过程

Ⅰ、Element-plus 提供的Select选择器组件与想要目标情况的对比&#xff1a; 1、Element-plus 提供Select组件情况&#xff1a; 其一、Element-ui 自提供的Select代码情况为(示例的代码)&#xff1a; // Element-plus 提供的组件代码: <template><div class"f…

前端JS必用工具【js-tool-big-box】学习,下载大文件(纯下载功能版)

这一小节呢&#xff0c;我们说一下 js-tool-big-box 工具库&#xff0c;下载文件的用法。这一小节说的是纯下载版本。 意思就是我们在前端项目开发中&#xff0c;下载功能嘛&#xff0c;无论你发送fetch请求&#xff0c;还是axios请求&#xff0c;你总得发送一下请求&#xff0…

车载网络安全指南 概述(一)

返回总目录->返回总目录<- 目录 前言 参考文档 术语 前言 汽车电子系统网络安全指南给出汽车电子系统网络安全活动框架,以及在此框架下的汽车电子系统网络安全活动、组织管理和支持保障等方面的建议。 汽车电子系统网络安全指南适用于指导整车厂、零部件供应商、软…

自定义函数命名规范

自定义函数命名规范 正文自定义函数名称不能与内置函数名称一致自定义函数名称不能与文件名称一致 正文 在 Lumerical 中&#xff0c;对于自定义函数名称&#xff0c;也有必须要遵守的规则。这里简单记录一下。 自定义函数名称不能与内置函数名称一致 比如&#xff0c;内置函…

深度神经网络——语音识别技术的探索与应用

概述 论文地址&#xff1a;https://arxiv.org/pdf/2402.19443.pdf 使用深度学习的语音识别技术已取得重大进展。这使得语音识别系统更加准确。然而&#xff0c;这项技术非常复杂&#xff0c;很难理解哪些信息用于何处。因此&#xff0c;本文提出了一种识别语音识别系统中哪些信…

Vue 项目开启 gzip

1. 压缩方式&#xff1a; 在 Nginx 开启压缩&#xff1a;当浏览器发起请求时&#xff0c;服务端对传输资源进行实时压缩&#xff0c;然后返回给浏览器&#xff1b;前端配置打包压缩并在服务端加上支持 gizp 的配置&#xff1a;当浏览器请求时&#xff0c;服务端直接将压缩资源…

虚拟化 之一 详解 jailhouse 架构及原理、软硬件要求、源码文件、基本组件

Jailhouse 是一个基于 Linux 实现的针对创建工业级应用程序的小型 Hypervisor&#xff0c;是由西门子公司的 Jan Kiszka 于 2013 年开发的&#xff0c;并得到了官方 Linux 内核的支持&#xff0c;在开源社区中获得了知名度和吸引力。 Jailhouse Jailhouse 是一种轻量级的虚拟化…

如何用Suno生成高质量歌曲:从前奏到尾奏的全流程解析

音乐创作的新时代&#xff1a;探索SUNO的无限可能 随着技术的不断进步&#xff0c;音乐创作正迎来一场革命。今天&#xff0c;让我们一起探索SUNO&#xff0c;这个创新的音乐生成工具&#xff0c;它将如何帮助我们释放创作潜力。 一、歌曲结构基础知识 了解歌曲结构是创作高质…

SprringCloud Gateway动态添加路由不重启

文章目录 前言&#xff1a;一、动态路由必要性二、SpringCloud Gateway路由加载过程RouteDefinitionLocator接口PropertiesRouteDefinitionLocator类DiscoveryClientRouteDefinitionLocatorInMemoryRouteDefinitionRepositoryCompositeRouteDefinitionLocator类CachingRouteDef…

maven学习小结

背景 大佬指路我负责实践 目录结构 maven为项目提供一个标准目录结构 环境配置 下载maven包后解压&#xff0c;配置解压目录的bin到path变量&#xff0c;然后终端mvn -v&#xff0c;有回显则表明maven安装成功 pom POM&#xff0c;Project Object Model&#xff0c;项目对…

计算机基本架构-时序逻辑电路回顾

计算机基本架构-时序逻辑电路回顾 D锁存器(D-Latch)D触发器(D-Flip-Flop)时序违规寄存器移位寄存器计数器摩尔状态机(Moore machine)米利状态机内存 计算机基本架构-时序逻辑电路回顾 D锁存器(D-Latch) D锁存器(D-Latch)是逻辑设计中最基本的存储元件。它具有数据输入D、时…

el-table有横向滚动条时,最后一行数据被横向滚动条遮挡,且不出现纵向滚动条;只有当鼠标移到fixed列才能纵向滚动,移到非fixed列无法纵向滚动。

问题背景 项目使用的vue2&#xff0c;el-table有横向滚动条时&#xff0c;最后一行数据被横向滚动条遮挡&#xff0c;且不出现纵向滚动条&#xff1b;只有当鼠标移到fixed列才能纵向滚动&#xff0c;移到非fixed列无法纵向滚动。 见下图&#xff1a;最后一行被遮挡住了一部分…

数字的魅力:数学中最重要的7个常数

数学常数是数学中一类特殊的数&#xff0c;具有固定不变的值。这些常数并非数学家随意凭空制定&#xff0c;而是源于深刻的数学原理和规律。它们不仅深刻地影响着数学理论的建立与发展&#xff0c;更连接着人类思维的奇妙之旅。 本文将简介数学中 7 个最基本的常数&#xff0c…