Java中的集合ArrayList

article/2025/11/7 23:52:59

目录

集合概述

ArrayList构造方法和添加方法

常用方法

存储字符串并遍历案例

存储学生对象并遍历


集合概述

编程的时候如果要存储多个数据,使用长度固定的数组存储格式,不一定满足我们的需求,更适应不了变化的需求,那么,此时该如何选择呢?那就是集合

先回忆一下python中的集合概念:set 集合s = {1,2,3} 是没有重复元素的数据结构,没有顺序,没有索引,元素可以是数字,字符串,不能是列表字典元组

而java中的集合就不一样了,其集合类的特点:提供一种存储空间可变的存储模型,存储的数据容量可以发生改变目前我们先学习一个: ArrayList

ArrayList<E> :

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

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

ArrayList构造方法和添加方法

如下创建一个空的集合对象,并使用添加方法在集合中添加指定的元素

package com.test;import com.sun.xml.internal.org.jvnet.fastinfoset.sax.FastInfosetReader;import java.util.ArrayList;
import java.util.Scanner;public class ScannerDemo {public static void main(String[] args) {//创建一个空的集合对象ArrayList<String> array = new ArrayList<String>();System.out.println(array); //输出 []//public boolean add(E e), 将指定的元素追加到集合的末尾System.out.println(array.add("hello")); //输出truearray.add(" world");System.out.println(array);   //输出[hello,  world]//在指定的索引位置添加元素,索引从0开始array.add(1,"nihao");System.out.println(array);  //输出[hello, nihao,  world]}
}

常用方法

  • arr.remove("元素")      删除指定元素
  • array.remove(1)          删除1索引位置处的元素
  • array.set(1, "hello")    将1索引处的 元素替换为“hello”    
  • array.size()                  获取集合长度
  • array.get(1)                  获取索引1处的元素
package com.test;import com.sun.xml.internal.org.jvnet.fastinfoset.sax.FastInfosetReader;import java.util.ArrayList;
import java.util.Scanner;public class ScannerDemo {public static void main(String[] args) {//创建一个空的集合对象ArrayList<String> array = new ArrayList<String>();//给集合中添加元素array.add("hello");array.add("world");System.out.println(array);  //输出[hello, world]//1. ramove 删除指定元素/*array.remove("world");System.out.println(array);  //输出hello*///2. remove删除指定索引位置的元素/*array.remove(1);System.out.println(array);  //输出hello*///3. set修改指定索引处的元素array.set(1,"你好");System.out.println(array);  //输出 [hello, 你好]}
}

存储字符串并遍历案例

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

package com.test;import com.sun.xml.internal.org.jvnet.fastinfoset.sax.FastInfosetReader;import java.util.ArrayList;public class ScannerDemo {public static void main(String[] args) {//创建一个空的集合对象ArrayList<String> array = new ArrayList<String>();array.add("hello");array.add("world");array.add("hehe");System.out.println(array);for(int i=0; i<array.size(); i++){System.out.println(array.get(i));}}
}

存储学生对象并遍历 

需求:创建一个存储学生对象的集合,存储3个学生对象,使用程序实现在控制台遍历该集合

思路:

  • 定义学生类
  • 创建集合对象
  • 创建学生对象
  • 添加学生对象到集合中
  • 遍历集合,采用通用遍历格式实现

因为要存储学生对象,所以首先要有学生类

Student.java

package com.test;
//学生类
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 int getAge(){return age;}
}

ArrayListTest.java

package com.test;
import java.util.ArrayList;public class ArrayListTest {public static void main(String[] args) {//创建集合对象ArrayList<Student> array = new ArrayList<Student>();//创建学生对象Student s1 = new Student("辰辰啊", 18);Student s2 = new Student("小明", 19);Student s3 = new Student("小虹", 20);//添加学生对象到集合中array.add(s1);array.add(s2);array.add(s3);//遍历集合System.out.println(array);for(int i=0; i<array.size(); i++){Student s = array.get(i);System.out.println(s.getName()+","+s.getAge());}}
}


http://chatgpt.dhexx.cn/article/MQtOw0Bj.shtml

相关文章

JAVA 中的集合

1.Java中有哪些容器? Java中的集合主要有两个接口&#xff0c;Map 和 Collection。 Collection接口的子接口有List, Set, Queue。 常见的实现类&#xff1a; List: LinkedList, ArrayList Set:HashSet, TreeSet(继承于SortedSet接口) Queue: ArrayDeque(继承于Deque) M…

java中List集合的几种遍历方式

本文中我们给出了List集合中的四种遍历方式&#xff0c;分别是for循环&#xff0c;迭代器循环&#xff0c;代码及相应的注释如下&#xff1a; package d1_collection;import java.util.*;public class cdemo1 {public static void main(String[] args) {List<String> li…

Java中的集合(面试题)

思维导图 1. HashMap排序题, 上机题 已知一个HashMap<Integer, User> 集合,User 有name (String) 和age (int)属性。请写一个方法实现对HashMap的排序功能,该方法接收HashMap <Integer, User>为形参,返回类型为HashMap <Integer, User>,要求对HashMap…

Java中的集合 简述

目录 前言 一、创建集合对象 1、接口怎么创建集合对象 2、实现类怎么创建集合对象 二、不同集合对象的遍历 1、Collection集合的遍历方式之一&#xff1a;Iterator迭代器 2、Set集合的遍历 —— 增强for 3、Map集合的遍历方式一&#xff1a;键找值 4、Map集合的遍历方式二&…

Java中List集合的介绍

List 是什么 JavaList集合是指由JavaList接口以及List接口的所有实现类组成的集合。 List集合中的元素允许重复,各元素的顺序放是对象插入的顺序.类似Java中的数组,用户可通过使用索引(元素在集合中的位置)来访问集合中的元素. 1.Java集合介绍 Java集合就像一个容器&#xff0…

java中的集合 最全面的集合讲解

集合只能存储对象&#xff0c;长度可变的数据结构 Collection是一个接口&#xff0c;没有办法创建对象&#xff0c;所以需要它的子类来创建对象&#xff0c;创建对象的时候可以使用多态。 一、Collection中通用的方法 方法&#xff1a; 创建集合对象&#xff0c;会自动重写t…

Java中List集合与Set集合

目录 一、List 集合 1、List 接口特点 2、List 接口中常用的方法 3、List 集合存储数据结构 4、ArrayList 集合ArrayList 集合是最常用的集合&#xff0c;是用存储数据结构&#xff0c;元素增删慢&#xff0c;查找快。 5、LinkedList 集合 6、Vector 集合 二、Set 接口…

Java中的集合类

Java中所有的类都位于java.util包下&#xff0c;主要由两个接口派生出来。分别是Collection&#xff08;集合&#xff09;和Map.Collection&#xff08;映射集合&#xff09;&#xff0c;包含了List和Set两大分支。Map是一个映射接口。Set、Map、List&#xff08;集&#xff0c…

java中的集合详解

Collection接口和Map接口 1 Collection集合 1.1 集合概述 集合&#xff1a;集合是java中提供的一种容器&#xff0c;可以用来存储多个数据。集合和数组既然都是容器&#xff0c;它们有啥区别呢&#xff1f; 数组的长度是固定的。集合的长度是可变的。 数组中存储的是同一类型的…

java中的集合

1.集合概述 Java的集合框架是由很多接口、抽象类、具体类组成的&#xff0c;都位于java.util包中。 2.Collection接口 Collection 接口&#xff0d;定义了存取一组对象的方法&#xff0c;其子接口Set和List分别定义了存储方式。Set 中的数据对象没有顺序且不可以重复。 List…

Java——集合(超详细超级全)

集合 Java 集合类可以用于存储数量不等的多个对象&#xff0c;还可用于保存具有映射关系的关联数组。 在这里主要讲一些我们平常很常用的一些接口和一些实现类。 Java 集合可分为 Collection 和 Map 两种体系&#xff1a; Collection接口&#xff1a;单列数据&#xff0c;定…

java集合(超详细)

1 - 概述 所有的集合类和集合接口都在java.util包下。 在内存中申请一块空间用来存储数据&#xff0c;在Java中集合就是替换掉定长的数组的一种引用数据类型。 2 - 集合与数组的区别 长度区别 数组长度固定&#xff0c;定义长了造成内存空间的浪费&#xff0c;定义短了不够用…

java创建多线程的方法

Java中是可以创建多个线程的&#xff0c;每个线程都有自己的名字和时间戳。下面我们来看看创建多个线程的方法。 创建多个线程&#xff0c;需要使用到 Thread类中的 create方法。需要注意的是&#xff0c;不是所有的线程都可以使用 create方法来创建&#xff0c;只有当这些线程…

Java创建多线程的五种方法

Java创建多线程的五种方法 Java创建多线程的五种方法&#xff08;一&#xff09;继承Thread类1&#xff0e;实现描述2&#xff0e;具体步骤3&#xff0e;代码实现4&#xff0e;注意事项 &#xff08;二&#xff09;实现Runnable接口1&#xff0e;实现描述2&#xff0e;具体步骤…

Java创建线程(Lambda表达式创建线程)

一、创建线程三种方式 1.1 继承Thread类创建线程类&#xff08;main线程与t线程交替执行&#xff09; 1.2 通过Runnable接口创建线程类 弊端是:不能直接使用Thread中的方法需要先获取到线程对象后,才能得到Thread的方法,代码复杂 上述代码中Thread.currentThread()方法返回当…

java创建线程的四种方法

第一种: 通过继承Thread类创建线程 第二种: 通过实现Runnable接口创建线程 这两种早已烂记于心,这里就不作过多的介绍, 主要介绍其源码 Thread类 implements Runnable thread空线程的run方法 是判断target是否存在实,再执行target实例中的run方法 public void run(){if(th…

Java创建线程

目录 既然说到线程&#xff0c;在这里就给大家普及一下线程。 线程&#xff08;Thread&#xff09;&#xff1a; 那么&#xff0c;进程是什么呢&#xff1f; 接下来&#xff0c;就让我们步入主题&#xff1a; 在 Java 中&#xff0c;是这样说线程的&#xff1a; 创建一个新…

Java创建多线程的8种方式

目录 1、继承Thread类&#xff0c;重写run()方法 2、实现Runnable接口&#xff0c;重写run() 3、匿名内部类的方式 4、带返回值的线程(实现implements Callable<返回值类型>)————以上3种方式&#xff0c;都没有返回值且都无法抛出异常。 5、定时器(java.util.Timer)…

java如何创建线程

java如何创建线程 1. java如何创建线程1.1 通过继承Thread类来创建线程1.2 通过实现Runnable接口来创建线程1.3 通过匿名内部类来创建线程1.4 lambda表达式1.5 通过实现Runnable接口的方式创建线程目标类的优缺点 1. java如何创建线程 一个线程在Java中使用一个Thread实例来描…

Java多线程 - Java创建线程的4种方式

文章目录 1. Java创建线程有哪几种方式&#xff1f;1.1 线程创建方法一&#xff1a;继承Thread类创建线程类1.2 线程创建方法二&#xff1a;实现Runnable接口创建线程目标类1.5 线程创建方法三&#xff1a;使用Callable和FutureTask创建线程1.6 线程创建方法四&#xff1a;通过…