Skip to main content

moregeek program

java中的list数组详解-多极客编程

1. 什么是数组?

  • 在Java中,数组List是一种常用的数据结构,它可以存储一组有序的元素,并提供了许多方法来操作这些元素。
  • 数组List是Java中内置的一种容器类型,它可以存储任何类型的对象,并且支持动态扩展和缩小。
  • 数组List是由Java的java.util包中的List接口和ArrayList类实现的。List接口是一个泛型接口,定义了一组操作List的方法,而ArrayList是List接口的一个具体实现,它内部使用数组来存储元素。

接下来,我们将通过一个案例来了解如何创建和使用数组List.

2.案例展示1

import java.util.ArrayList;
import java.util.List;

public class ArrayListExample {
public static void main(String[] args) {
// 创建一个数组List
List<String> list = new ArrayList<>();

// 向List中添加元素
list.add("Alice");
list.add("Bob");
list.add("Charlie");

// 输出List中的元素数量
System.out.println(list.size()); // 输出3

// 遍历List中的元素
for (String name : list) {
System.out.println(name);
}

// 在指定位置插入元素
list.add(1, "David");

// 删除指定位置的元素
list.remove(2);

// 获取指定位置的元素
System.out.println(list.get(1)); // 输出David

// 清空List中的元素
list.clear();

// 判断List是否为空
System.out.println(list.isEmpty()); // 输出true
}
}

代码解析:

在这段代码中,我们创建了一个数组List,并使用add(int index, E element)方法在指定位置插入了一个新元素,使用remove(int index)方法删除了指定位置的元素,使用get(int index)方法获取了指定位置的元素,然后使用clear()方法清空了List中的元素,最后使用isEmpty()方法判断List是否为空。

运行这段代码,输出如下:

3
Alice
Bob
Charlie
David
true

3.案例展示2

除了上述方法之外,数组List还提供了其他许多有用的方法,例如:

  • set(int index, E element):用指定的元素替换指定位置的元素。
  • subList(int fromIndex, int toIndex):返回列表的一个视图,该视图包括了源列表中索引在 fromIndex(包括)和 toIndex(不包括)之间的元素。
  • indexOf(Object o):返回指定元素在列表中第一次出现的索引,如果列表不包含该元素,则返回 -1。
  • lastIndexOf(Object o):返回指定元素在列表中最后一次出现的索引,如果列表不包含该元素,则返回 -1。
  • contains(Object o):如果列表包含指定元素,则返回 true,否则返回 false。
  • toArray():返回包含列表中所有元素的数组。

下面是一个使用了这些方法的示例代码:

import java.util.ArrayList;
import java.util.List;

public class ArrayListExample {
public static void main(String[] args) {
// 创建一个数组List
List<String> list = new ArrayList<>();
list.add("Alice");
list.add("Bob");
list.add("Charlie");
list.add("David");

// 使用set()方法替换指定位置的元素
list.set(1, "Eve");

// 使用subList()方法获取List的一个视图
List<String> subList = list.subList(1, 3);
System.out.println(subList); // 输出[Eve, Charlie]

// 使用indexOf()方法获取指定元素的索引
System.out.println(list.indexOf("Charlie")); // 输出2

// 使用lastIndexOf()方法获取指定元素的索引
System.out.println(list.lastIndexOf("David")); // 输出3

// 使用contains()方法判断List是否包含指定元素
System.out.println(list.contains("Alice")); // 输出true
System.out.println(list.contains("Evelyn")); // 输出false

// 使用toArray()方法将List转换为数组
String[] array = list.toArray(new String[0]);
for (String s : array) {
System.out.println(s);
}
}
}

代码解析:

在这段代码中,我们创建了一个数组List,并使用add()方法向List中添加了四个元素。然后使用set()方法替换了指定位置的元素,使用subList()方法获取了List的一个视图,使用indexOf()方法获取了指定元素的索引,使用lastIndexOf()方法获取了指定元素的索引,使用contains()方法判断List是否包含指定元素,最后使用toArray()方法将List转换为数组。

运行代码,输出如下:

[Eve, Charlie]
2
3
true
false
Alice
Eve
Charlie
David

如有帮助,麻烦点个赞,如有错误请指出,我是CoderBug,一个跟你一样追风的少年!

©著作权归作者所有:来自51CTO博客作者CoderBug的原创作品,请联系作者获取转载授权,否则将追究法律责任

docker网络中篇-docker网络的四种类型-多极客编程

通过上一篇学习,我们对docker网络有了初步的了解。本篇,咱们就来实战docker网络。docker网络实战实战docker网络,我们将从以下几个案例来讲解1:birdge是什么?2:host3:none4:container实战网络类型如下:在docker中,网络的配置是以json格式存在的,下面我们就来看看每种类型网络配置信息我们先来看看bridge类型的网络使用命令:docker netw

#yyds干货盘点# 名企真题专题:末尾0的个数-多极客编程

1.简述:描述输入一个正整数n,求n!(即阶乘)末尾有多少个0? 比如: n = 10; n! = 3628800,所以答案为2输入描述:输入为一行,n(1 ≤ n ≤ 1000)输出描述:输出一个整数,即题目所求示例1输入:10输出:22.代码实现:public class Main{ public static int test(int n){ if(n < 0){

#yyds干货盘点# 名企真题专题:直方图内最大矩形-多极客编程

1.简述:描述给定一个数组heights,长度为n,height[i]是在第i点的高度,那么height[i]表示的直方图,能够形成的最大矩形是多少?1.每个直方图宽度都为12.直方图都是相邻的3.如果不能形成矩形,返回0即可4.保证返回的结果不会超过231-1数据范围:如输入[3,4,7,8,1,2],那么如下:示例1输入:[3,4,7,8,1,2]返回值:14示例2输入:[1,7,3,2,4,

#yyds干货盘点# leetcode程序员面试金典:翻转数位-多极客编程

题目:给定一个32位整数 num,你可以将一个数位从0变为1。请编写一个程序,找出你能够获得的最长的一串1的长度。示例 1:输入: num = 1775(110111011112)输出: 8示例 2:输入: num = 7(01112)输出: 4代码实现:class Solution { public int reverseBits(int num) { int ps = 0,

#yyds干货盘点# leetcode程序员面试金典:二进制数转字符串-多极客编程

题目:二进制数转字符串。给定一个介于0和1之间的实数(如0.72),类型为double,打印它的二进制表达式。如果该数字无法精确地用32位以内的二进制表示,则打印“ERROR”。示例1: 输入:0.625 输出:"0.101"示例2: 输入:0.1 输出:"ERROR" 提示:0.1无法被二进制准确表示代码实现:class Solution { public String printBin(

spring boot 启动和 oauth2-多极客编程

本指南介绍如何使用“社交登录”构建示例应用,以执行各种操作OAuth 2.0和弹簧启动.它从简单的单提供程序单一登录开始,一直到具有身份验证提供程序选择的客户端:GitHub​或谷歌.这些示例都是在后端使用 Spring Boot 和 Spring Security 的单页应用程序。他们也都使用普通jQuery在前端。但是,转换为不同的JavaScript框架或使用服务器端渲染所需的更改将是最小的

【python实践】使用python实时语音控制电脑全局音量-多极客编程

前言说到人工智能中语言实时识别技术及通过人工智能控制设备,大家应该比较熟悉,基本充斥着我们生活的方方面面,比如智能家居,我们手机中的智能机器人,如:苹果的Siri,小米的小爱,天猫精灵,华为的小艺,微软的小冰,以及银行大堂或者酒店前台线下服务类的迎宾机器人等等。都是我们常用到的人工智能语音实时控制技术,那假如我们自己来开发一个语言控制程序来控制我们的电脑或者其他设备,我们应该怎么做呢,一直停留在应

docker网络中篇-docker网络的四种类型-多极客编程

通过上一篇学习,我们对docker网络有了初步的了解。本篇,咱们就来实战docker网络。docker网络实战实战docker网络,我们将从以下几个案例来讲解1:birdge是什么?2:host3:none4:container实战网络类型如下:在docker中,网络的配置是以json格式存在的,下面我们就来看看每种类型网络配置信息我们先来看看bridge类型的网络使用命令:docker netw

#yyds干货盘点# 名企真题专题:末尾0的个数-多极客编程

1.简述:描述输入一个正整数n,求n!(即阶乘)末尾有多少个0? 比如: n = 10; n! = 3628800,所以答案为2输入描述:输入为一行,n(1 ≤ n ≤ 1000)输出描述:输出一个整数,即题目所求示例1输入:10输出:22.代码实现:public class Main{ public static int test(int n){ if(n < 0){

#yyds干货盘点# leetcode程序员面试金典:翻转数位-多极客编程

题目:给定一个32位整数 num,你可以将一个数位从0变为1。请编写一个程序,找出你能够获得的最长的一串1的长度。示例 1:输入: num = 1775(110111011112)输出: 8示例 2:输入: num = 7(01112)输出: 4代码实现:class Solution { public int reverseBits(int num) { int ps = 0,

#yyds干货盘点# leetcode程序员面试金典:二进制数转字符串-多极客编程

题目:二进制数转字符串。给定一个介于0和1之间的实数(如0.72),类型为double,打印它的二进制表达式。如果该数字无法精确地用32位以内的二进制表示,则打印“ERROR”。示例1: 输入:0.625 输出:"0.101"示例2: 输入:0.1 输出:"ERROR" 提示:0.1无法被二进制准确表示代码实现:class Solution { public String printBin(

xml语言的基本语法-java web-多极客编程

(目录) 一、说明 XML(eXtended Markup Language,可扩展的标记性语言)被设计用来定义结构、传输和存储数据,不用于表现和展示数据,目的是数据的内容 HTML中的元素都是固定的,以显示数据为主,目的是数据的外观 XML与HTML类似,都属于标记性的语言,两者都是从SGML(StandardGeneral Markup Language)语言发展而来 二、理解 XML与