集合基础/Arraylist

集合讲解(ArrayList、HashMap等) **集合讲解(ArrayList、HashMap等)**CollectionListArrayListLinkedListVectorSetMapHashtableHashMapSortedMap数据结构(扩展巩固)线性表队列栈 * 首先我们了解一下集合的用处 最主要的是以前用数组作为容器存储时,总会遇到扩容问题,数组不能自动扩容在之就是数组进行增删操作时,需要开发者自己实现 集合就优化了这些 所有集合的底层都是由Collection,Map,Iterator 三个接口派生而出; Collect 阅读详情

集合概述

集合类的特点:提供一种存储空间可变的存储模型,存储的数据容量可以发生改变

1、Arraylist<E>:

  • 可调整大小的数组实现
  • <E>: 泛型,是一种特殊的数据类型。

怎么用?
在出现E的地方我们使用引用数据类型替换即可
举例:Arraylist<String>,Arraylist<Student>

2、Arraylist构造方法和添加方法

在这里插入图片描述
单词:
index :索引
element:

3、Arraylist集合常用方法

在这里插入图片描述

Arraylist集合常用方法 的示例
public static void main(String[] args) {
        ArrayList<String> array = new ArrayList<String>();
        array.add("hello");
        array.add("word");
        array.add("java");
 /*public boolean remove(objet o):删除指定元素,返回删除是否成功
        System.out.println(array.remove("word"));
*/

/* public E remove(in index):删除指定索引处的元素,返回被删除的元素
        System.out.println(array.remove(1));
 */

/*public E set(int index,E element):修改指定索引处的元素,返回被修改的元素
        System.out.println(array.set(1,"javaee"));
 */

 /*public int size();返回集合中的元素的个数
        System.out.println(array.size());
*/

        System.out.println("array"+array);
    }

题1、存储字符串并遍历

需求:创建一个存储字符串的集合,存储3个字符串元素,使用程序实现在控制台遍历该集合

注明:遍历集合的通用格式
for(int i=0;i<集合对象.size();i++){
   		集合对象.get(i)就是指定索引处的元素
}
示例:
public static void main(String[] args) {
        //创建集合对象
        ArrayList<String> array = new ArrayList<String>();
        // 往集合里添加字符串对象
        array.add("嘿嘿嘿");
        array.add("你在笑吗");
        array.add("那就笑一个吧");

        /*遍历集合,首先要能够获取到集合中的每一个元素,这个通过get(int index)方法实现
        System.out.println(array.get(0));
        System.out.println(array.get(1));
        System.out.println(array.get(2));
      
        for (int i = 0; i < 3; i++) {
            System.out.println(array.get(i));
        }
        */
        // 遍历集合的通用格式
        for (int i=0;i<array.size();i++){
            String s = array.get(i);
            System.out.println(s);
        }
    }

题2、存储学生对象并遍历

需求:创建一个存储学生对象的集合,存储2个学生对象,使用程序实现在控制台遍历
思路:
1定义学生类、2创建集合对象、3创建学生对象
4添加学生对象到集合中 、5遍历集合,采用通用遍历格式实现

//1、学生类
public class Student {
    private String name;
    private  int age;

    public Student(){}
    public Student(String name,int age){
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}
public  class ArrayListTest {
    public static void main(String[] args) {
    //2、创建集合对象
    ArrayList<Student> array = new ArrayList<Student>();

    //3、创建学生类对象
    Student S1 = new Student("果果",2);
    Student S2 = new Student("筱筱",1);

    //4、添加学生对象到集合中
    array.add(S1);
    array.add(S2);

    //5、遍历集合,采用通用遍历格式实现
     for (int i=0;i<array.size();i++){
         Student S = array.get(i);
         System.out.println(S.getName()+","+S.getAge());
     }

    }
}

题3、存储学生对象并遍历(升级)

需求:创建一个存储学生对象的集合,存储2个学生对象,使用程序实现在控制台遍历
学生的姓名和年龄来自于键盘录入

 //1、学生类,把学生类中的成员变量都定义为String类型
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(String age) {
            return this.age;
        }

        public void setAge(String age) {
            this.age = age;
        }
    }
public  class ArrayListTest {
    public static void main(String[] args) {
    //2、创建集合对象
    ArrayList<Student> array = new ArrayList<Student>();
    //6、调用方法
       addStudent(array);
       addStudent(array);
    }
    /*两个明确:
    返回值类型:void
    参数:ArrayList<Student>array
     */
    public static void addStudent(ArrayList<Student> array){
        //3、键盘录入学生对象所需要的数据
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入学生姓名:");
        String name = sc.nextLine();

        System.out.println("请输入年龄:");
        String age = sc.nextLine();

        //4、创建学生对象,把键盘录入的数据赋值给学生对象的成员变量
        Student s = new Student();
        s.setName(name);
        s.getAge(age);

        //5、往集合里添加学生对象
        array.add(s);
        
        //7、遍历集合,采用通用遍历格式实现
        for (int i=0;i<array.size();i++){
         Student S = array.get(i);
         System.out.println(S.getName()+","+S.getAge());
        }
    }
java ArrayList集合 什么是集合​ 提供一种存储空间可变的存储模型,存储的数据容量可以发生改变ArrayList集合的特点​ 长度可以变化,只能存储引用数据类型。泛型的使用​ 用于约束集合中存储元素的数据类型。 阅读详情

相关推荐

java基础-ArrayList集合

ArrayList是JAVA中自带的类,JAVA底层已经做了一些处理,直接打印是会打印其中的内容,而不是打印的地址值,打印的时候会使用[]将其中的数据包裹。user.add(new ArrayListUser(2,"李四","abcdef"));user.add(new ArrayListUser(3,"王五","abcdef"));user.add(new ArrayListUser(2,"李四","abcdef"));list.add(new ArrayListPhone("小米",1000));

qq_33631393的博客 699

JAVA基础第八天——集合(单列集合---collection/List/ArrayList/LinkedList)

1 为什么出现集合类 集合长度可变 2 集合体系结构 集合 单列集合 Collection接口 List接口 : 1 有序 2 有索引 3 元素可以重复 ArrayList类 : 数组结构 ,查询快,增删慢 LinkedList类 : 链表结构 ,查询慢...

东城庞太师 199

川崎机器人总线通信_三菱PLC和发那科机器人进行CCLINK总线通信

三菱CCLINK主站模块采用QJ61BT11N,该模块用在Q系列PLC上,如果是5U或3UPLC,可用FX5-CNV-BUS加FX3U-16CCL-M或FX5-CCL-M模块。本教程以Q系列为例CCLINK接线方法如下模块拨码含义如下接线和拨码设置好后,接着在编程软件上设置CCLINK通信参数打开编程软件,在工程导航栏打开参数——网络参数,选中CCLINK打开。打开如下画面起始IO为模块本体占用I...

weixin_42300398的博客 7548

【Java 基础编程】Java 集合框架详解:List/Set/Map 选型 + ArrayList/HashMap 原理与使用

Java集合框架是存储和操作数据的核心工具,主要分为Collection(List、Set)和Map两大接口体系。List有序可重复,常用ArrayList(数组实现)、LinkedList(链表实现);Set无序不可重复,包含HashSet、TreeSet等;Map存储键值对,如HashMap、TreeMap。集合相比数组优势在于动态扩容和丰富API。Collection提供迭代器、增强for循环等遍历方式,包含add/remove/contains等核心方法。掌握不同集合类的特性、性能差异及适用场景是J

懿轩的技术小窝 993

生信人的一天~HIFI数据+HIC数据组装基因组

HIFI+HIC数据组装基因组!

qq_43337286的博客 9530

【Unity3D】关于unity中spriteAtlas的打包方案及使用时内存状态的多组对照实验

unity项目中使用精灵(Sprite)为了降低性能消耗,我们可以使用精灵图集(Sprite Atlas)技术,它能够将多个纹理合并成一个大纹理

云渊寒烬 5101

JavaSE基础笔记——字符串常用类/ArrayList(集合)

JavaSE基础笔记——String(字符串)/ArrayList(集合)

weixin_62993347的博客 871

Xiaojie雷达之路---毫米波雷达基础知识---角度估计

本篇文章主要介绍毫米波雷达的基础知识中的角度估计,对于本篇文章主要回答5个问题 1.在雷达的前方,如何估计前方一个物体的角度 2.角度测量的准确性 3.如何测量多个物体的角度 4.雷达可测的角度的视场最大值为多少 5.角度分辨率取决于什么因素 文章目录估计雷达前面一个物体的角度角度测量的准确性雷达的最大角视场测量雷达前方多个距离和速度相同的物体角度分辨率角度估计的流程 估计雷达前面一个物体的角度 估计一个物体的角度,最少需要两根接收天线 发射天线发送一个chirp,经过物体发射后信号,信号分别被第一根天

XiaoJie的博客 1万+

Nearth===013/C#集合ArrayList基础理论学习

=======c#集合(ArrayList)学习======= 1:ArrayList是一个可动态维护长度的集合 1-1:ArrayList的初始化 引入System.Collections命名空间 实例化ArrayList对象 eg: using System.Collections; ArrayList studentsList= new ArrayList();//未指定长度 Ar...

ly1716的博客 159

IDEA集成selenium自动化测试(Java+Selenuim+testNG+Maven)

文章目录写在前面01 | 新建Maven项目02 | idea集成Selenium03 | 写在前面 因为软件测试的需求和博主比较经常使用Java,于是,想在Idea中集成selenuim,用Java编写测试代码,因此有了这篇文章来记录一下过程。 资源指路: java使用selenium实现模拟浏览器操作API大全 模拟登录 TestNG入门教程 感谢上面博客的大佬。 01 | 新建Maven项目 不使用骨架创建,直接点击左侧Maven,然后一路next即可。 02 | idea集成Sele

aLinxi的博客 8279

VMware Workstation Pro 17 最新破解版安装教程(附永久激活密钥)

本文详细介绍了VMware Workstation Pro 17专业版的安装与配置指南,包括系统要求检查、官方版本安装流程、高级配置优化及常见问题排查。通过合规使用官方版本,开发者可以充分利用其强大的虚拟化能力,提升多平台开发与测试效率。

weixin_29327977的博客 3553

Java基础 -> 集合(collection),List/Set接口(ArrayList,collection)

/** * collection * ArrayList:集合,一个一个的有序的,可重复的容器 * 方法:add(),addAll(),clear(),isEmpty() */ @Test public void test(){ ArrayList arrayList = new ArrayList<>(); System.out.println(“输出” + arrayList);//输出[] //boolean add(E e) //将指定的元素追加到此列表的末尾。 arrayList.ad

rod0320的博客 137

PDBfixer:蛋白质结构修复工具

本文介绍蛋白质数据银行(PDB)文件常见问题及修复工具PDBFixer的使用方法。PDB文件常存在缺失原子、残基等问题,PDBFixer可通过GUI、命令行或Python API实现自动化修复。文章详细说明安装方法、命令行参数、Python脚本修复流程及非标准残基替换表,并与Modeller、ColabFold和Rosetta Remodel等其他修复工具进行对比分析,提供了各工具的特点、适用场景和典型计算时间比较,帮助用户根据具体需求选择合适的修复工具。

Protein Designer的博客 611

java arraylist先进先出_JavaSE基础自学-----集合框架--List体系(ArrayList / LinkedList

List体系(ArrayList / LinkedList / Vector)List : 元素是有序的, 元素可以重复, 因为该集合体系有索引(有角标)List 集合判断元素是否相同 (contains) ,依据的是equals方法List体系常见容器:(ArrayList / LinkedList / Vector)ArrayList : 底层使用的是数组数据结构,特点 : 查询速度快, 增删...

weixin_30423205的博客 612

如何使用Docker部署OpenClaw小龙虾(docker compose快速部署)

本文以飞牛NAS为例💻,带大家一步步完成Docker部署OpenClaw小龙虾🦞。不管你是用NAS、云服务器还是本地电脑,只要支持Docker,都可以参考这个步骤来安装部署⚡

XiaoqiangClub的博客 727

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Java 基础 - Collection集合通用方法及操作/ArrayList和LinkedList的差别优势 /弃用的Vector...

Collection的笔记: /**存储对象考虑使用: * 1.数组, ①一旦创建,其长度不可变!② 长度难于应对实际情况 * 2.Java集合, ①Collection集合: 1.set: 元素无序,不可重复; 2.元素有序,可重复的集合--动态不定长数组 * ②Map集合, 具有映射关系的"key - value"对的集合 * ----------...

weixin_30823833的博客 108

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

【Java集合】单列集合List详解

List接口属于单列集合Collection接口下的其中一条分支,它最常用的三个实现类分别是——。这三个实现类各有各的特点,但又有着一些相同的特性。本文将从List集合的介绍、特点、使用,再到它的三个常用实现类的底层源码分析,完完整整地梳理清楚List位于,是单列集合Collection接口下的一个子接口。接口不能直接被实例化,因此需要通过创建其子类对象来完成该接口的实例化(即多态List 接口最常用的3个子类有。本文以ArrayList类为例演示List接口中的常用方法。

m0_55908255的博客 1085

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Arraylist集合

如何使用集合ArrayList

qq_64580260的博客 1461

Java集合基础梳理(集合体系+ArrayList)

对于数组来说,它是动态扩容的, 当元素存放超过数组的阈值机会进行扩容,但是当元素从数组中删除之后,数组不会缩容. 如果一个100大小的数组,那么只存放一个元素,序列化的时候需要序列化99个null值,为了避免Java默认的序列化机制的造成的空间浪费,将数组使用transient来修饰,的空间浪费主要体现在在 list 列表的结尾会预留一定的容量空间,而 LinkedList 的空间花费则体现在它的每一个元素都需要消耗比 ArrayList 更多的空间(因为要存放直接后继和直接前驱以及数据)。

欢迎来到我的博客,在这里我会用我的方式来讲解知识,请大家多多关照 1560

Java的ArrayList集合

ArrayList是一个灵活且易于使用的动态数组实现,适合存储和操作可变长度的对象集合。它提供了丰富的方法和良好的性能,但在需要频繁插入和删除元素时,可以考虑使用LinkedList,因为其在中间位置插入和删除元素时性能更佳。

2302_81034736的博客 2771

java基础:ArrayList集合

java基础-遇见ArrayList集合 1、围观某学生管理系统 大伙儿快来看这个学生管理系统啊,竟然还在使用数组来存储学生信息数据,太low了吧。增加学生数量还要不停地新建数组,看来一定是不知道数组的长度是不可以改变的,是不是应该吐槽一下,来我们一起喊,小菜鸡~。我们自己来实现一个比较牛学生管理系统。 2、了解集合与数组 来我们来普及一下数组的最基本概念,数组是可以用来存储相同数据类型的数据的一种容器,数组一经创建长度是固定的。如果需要改变长度,需要重新创建,不适合在对象数量未知的情况下使用的。

黑马程序员官方博客 933

Java基础09:ArrayList集合

系列文章目录 day01:Java概述和基础语法 文章目录系列文章目录面向对象和面向过程的思想对比 面向对象和面向过程的思想对比

XXXZhy丶Blog 1686

java中的集合————ArrayList集合的增删改查

本文直接上代码,代码分析 主要介绍常用的一个AreayList集合 import java.util.*; //万能导包 //List集合的增删改查 线性集合接口 有序的 可以存放重复对象 //ArrayList 动态数组 LinkList 链表结构 public class Listzsgc { public static void main(String[] args) { ...

javadaozhu的博客 8369

java程序基础——ArrayList集合

目录 一、集合的创建 二、集合中的常用方法 三、集合的遍历 四、集合中的常用方法补充 (1)boolean add(int index, Object obj) (2)Object set(int index, Object obj) (3)Object remove(int index) (4)void clear() ArrayList集合是程序中最常见的一种集合,它属于引用数据类型(类)。在ArrayList 内部封装了一个长度可变的数组,当存入的元素超过数组长度时,Array.

weixin_45890771的博客 2359

ArrayList集合基础练习

本篇章主要展示了常见的一些基础的集合练习及解答,同时有一道较为综合的题目供以编写。在了解了集合的基础知识后,一定要自己独立动手练习代码,为以后的进阶打好基础。

2301_80709894的博客 816

java集合之ArrayList

集合与数组 数组是一种最简单的复合数据类型,它是有序数据的集合,数组中的每个元素具有相同的数据类型,可以用一个统一的数组名和不同的下标来唯一确定数组中的元素。根据数组的维度,可以将其分为一维数组、二维数组和多维数组等。 总的来说,数组具有以下特点: 数组可以是一维数组、二维数组或多维数组。 数值数组元素的默认值为 0,而引用元素的默认值为 null。 交错数组是数组的数组,因此,...

qq_37801719的博客 2558
上一篇: String和StringBuilder
下一篇: 例题:学生管理系统
筱筱_2022_
博客等级 码龄4年 1粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值