ArrayList类

OLLAMA_HOST环境变量设置全攻略:从127.0.0.1到局域网共享的完整配置 本文详细解析了OLLAMA_HOST环境变量的核心作用与配置方法,指导用户如何将Ollama服务从仅限本机访问(127.0.0.1)扩展到局域网共享。文章涵盖了macOS、Linux、Windows三大平台的实战配置步骤,并提供了安全加固、性能优化及常见故障排查方案,是解决多设备协作访问本地AI模型的完整指南。 阅读详情
package 集合类.list类;

/**
 * System.Collections.ArrayList类是一个特殊的数组。通过添加和删除元素,就可以动态改变数组的长度。

 一.优点

 1。支持自动改变大小的功能
 2。可以灵活的插入元素
 3。可以灵活的删除元素 
 * @author jjj
 *  注意,里面的元素是可以重复的,如果元素是new出来的一些对象的话,实际上元素只是对象的引用
 */
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;

public class ArrayList类 {

	/**
	 * 老紫竹JAVA提高教程(7)-认识List列表之ArrayList<br>
	 * 
	 * @author 老紫竹 JAVA世纪网(java2000.net)
	 * 
	 */

	public static void main(String[] args) {
		testNormal();
		testSpecial();
		// 一个最常见的错误
		testForProblem();
	}

	public static void testNormal() {
		// -------------------------------------------------------
		// 声明一个列表
		// 允许放入任何数据
		// -------------------------------------------------------
		ArrayList list = new ArrayList();
		// 放入整数
		// 当然你用 new Integer(1)也可以
		list.add(1);
		// 放入字符串
		list.add("abc");
		// 放入浮点数
		list.add(new Float(1.11));
		// add会将数据保存到列表的尾部
		showList(list); // 1, abc, 1.11]

		// 下面我们在列表的头部增加数据
		list.add(0, 2);
		list.add(0, "bcd");
		list.add(0, new Double(2.34));
		// 列表可以指定插入的位置
		// 0 是头部第一个位置,所以数据都逐个放到最前面了
		showList(list); // [2.34, bcd, 2, 1, abc, 1.11]

		// 下面我们插入到我们希望的任何位置
		// 当然不能越界,(0 到 list.size()-1)范围内才可以
		list.add(1, 3);
		list.add(4, "xyz");
		// 数据被放到了正确的位置
		showList(list); // [2.34, 3, bcd, 2, xyz, 1, abc, 1.11]

		// -------------------------------------------------------
		// 我们有了数据,我们来测试读取数据
		// -------------------------------------------------------
		// 我们可以通过指定索引的位置,来拿到我们希望的数据
		System.out.println(list.get(0)); // 2.34
		System.out.println(list.get(4)); // xyz

		// -------------------------------------------------------
		// 测试是否存在某个数据
		// -------------------------------------------------------
		System.out.println(list.contains("xyz")); // true

		// 测试是否包含一组数据
		Collection c = new ArrayList();
		c.add(1);
		c.add(2);
		System.out.println(list.containsAll(c)); // true
		c.add(3);
		c.add(4);
		// containsAll_1234=false
		System.out.println(list.containsAll(c)); // false

		// -------------------------------------------------------
		// 查找某个数据所在的索引位置
		// 如果不存在,返回-1
		// -------------------------------------------------------
		System.out.println(list.indexOf(3)); // 1
		System.out.println(list.indexOf("xyz")); // 4
		System.out.println(list.indexOf("abcd")); // -1

		// -------------------------------------------------------
		// 测试删除数据
		// 请注意,
		// 如果你使用整数(int)数字,则默认调用的是remove(int index);
		// 如果你用 long,则会调用 remove(Object obj);
		// 所以如果你要删除整数,请使用 remove(new Integer(int));
		// -------------------------------------------------------
		// 删除索引为1的数据
		list.remove(1);
		// 索引为1的数据被干掉了
		showList(list); // [2.34, bcd, 2, xyz, 1, abc, 1.11]

		// 删除数字1 和字符串 abc
		list.remove(new Integer(1));
		list.remove("xyz");
		showList(list); // [2.34, bcd, 2, abc, 1.11]

		// -------------------------------------------------------
		// 迭代器的使用
		// -------------------------------------------------------
		Iterator it = list.iterator();
		while (it.hasNext()) {
			System.out.print(it.next() + " "); // 2.34 bcd 2 abc 1.11
		}
		System.out.println();

		// -------------------------------------------------------
		// 转化为数组
		// -------------------------------------------------------
		Object[] objs = list.toArray();
		for (Object obj : objs) {
			System.out.print(obj + " "); // 2.34 bcd 2 abc 1.11
		}
		System.out.println();
	}

	public static void testSpecial() {
		// -------------------------------------------------------
		// 测试重复和null
		// -------------------------------------------------------
		//
		List<Integer> list = new ArrayList<Integer>();
		list.add(123);
		list.add(456);
		list.add(123);
		list.add(456);
		// 数据允许重复
		showList(list); // [123, 456, 123, 456]

		list.add(null);
		list.add(789);
		list.add(null);
		list.add(999);
		// 允许放入多个null
		showList(list); // [123, 456, 123, 456, null, 789, null, 999]

		// -------------------------------------------------------
		// 测试一下查找最后一次出现的位置
		// -------------------------------------------------------
		System.out.println(list.indexOf(123)); // 0
		System.out.println(list.lastIndexOf(123)); // 2

		// -------------------------------------------------------
		// 转化为数组
		// 记得要转化为Inerger.
		// -------------------------------------------------------
		Integer[] nums = (Integer[]) list.toArray(new Integer[0]);
		// 注意数据里面有null,所以循环变量不要用int 要用Integer
		for (Integer num : nums) {
			System.out.print(num + " "); // 123 456 123 456 null 789 null 999
		}
		System.out.println();

	}

	public static void testForProblem() {
		// 一些朋友在向循环里向列表增加对象的时候
		// 经常忘记初始化,造成最终加入的都是同一个对象
		List<MyObject> list = new ArrayList<MyObject>();
		MyObject obj = new MyObject();
		for (int i = 1; i <= 5; i++) {
			obj.setName("Name" + i);
			list.add(obj);
		}
		// 里面的数据都是最后一个
		showList(list); // [Name5, Name5, Name5, Name5, Name5]

		// 正确的做法
		List<MyObject> list2 = new ArrayList<MyObject>();
		MyObject obj2 = null;
		for (int i = 1; i <= 5; i++) {
			obj2 = new MyObject();
			obj2.setName("Name" + i);
			list2.add(obj2);
		}
		// 里面的数据都是最后一个
		showList(list2); // [Name1, Name2, Name3, Name4, Name5]
	}

	/**
	 * 显示List里面的数据。
	 * 
	 * @param list
	 */
	private static void showList(List list) {
		System.out.println(Arrays.toString(list.toArray()));
	}
}

class MyObject {
	private String name;

	public String getName() {
		return name;
	}

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

	/**
	 * 重写toString方法,输出name
	 */
	public String toString() {
		return name;
	}
}
SAP 中配置权限职责菜单并分配给用户的核心流程是:用PFCG 创建 / 维护角色(含菜单、事务码、权限)→ 生成权限参数文件 → 通过 SU01/SU10 将角色分配给用户 SAP权限配置核心流程:1)通过PFCG创建角色,配置菜单事务码及权限对象;2)生成权限参数文件;3)用SU01/SU10分配角色给用户。关键步骤包括:在PFCG中维护菜单结构、设置权限字段值、生成Profile,通过用户比较验证权限。批量分配可用SU10,特殊需求可创建复合角色或自定义权限对象。常见问题需检查权限缺失(SU53)、菜单分配及组织级别设置。流程简化为:创建角色→配置权限→分配用户→验证生效。 阅读详情

相关推荐

FA 新增资产API Demo

DECLARE l_trans_rec fa_api_types.trans_rec_type; l_dist_trans_rec fa_api_types.trans_rec_type; l_asset_hdr_rec fa_api_types.asset_hdr_rec_type; l_asset_desc_rec fa_a

chosen1brain的专栏 2142

Java中的ArrayList类

ArrayList类继承自抽象类AbstractList,同时实现了List和Collection接口,进入源码我们可以看到它的类定义集合其实就是更方便的数组,我们在使用时不需要考虑它的大小,只需要调用类的接口实现就可以了,方便我们开发需要的功能,不必在细节上犯难,这是它的好处。但是还是推荐有兴趣的小伙伴去看一下它的源码,它的底层代码设计的非常巧妙。

weixin_74141526的博客 1186

基于Lumerical FDTD的光栅耦合器宽带特性仿真与实验验证

本文详细介绍了基于Lumerical FDTD软件对光栅耦合器进行宽带特性仿真的完整流程。通过复现一个针对1310nm波段优化的经典光栅耦合器案例,文章从结构建模、光源设置、监视器布置到仿真运行与结果分析,逐步解析了如何准确模拟其耦合效率与带宽特性,并将仿真结果与实验数据进行对比验证,为硅光芯片的设计与优化提供了实用指导。

weixin_29294597的博客 512

ArrayList 类

.Net 和 Java 中都有 ArrayList 类,非常方便。VBS 中却没有,给使用带来了不便。所以特意编写了 VBS 的 ArrayList 类,功能与.Net 和 Java 中的 ArrayList 类相似,没有排序功能。%**********************************************************************************

Triumphal 2179

基于Mind+、MOTT实现人工智能

@基于Mind+、MOTT实现人工智能 人工智能实验 一、实验目的及要求 【一】实现人脸识别 【二】实现云数据库应用 【三】实现测温数据mqtt上传至物联网云平台 二、实验原理与内容 基于二哈实现多人人脸学习和识别 基于TinywebDB实现云数据库应用 基于EasyIoT实现mqtt数据上传。 三、实验软硬件环境 硬件:掌控板 软件:Mind+ 四、实验过程(实验步骤、记录、数据、分析) 1.基于二哈实现多人人脸学习和识别 ①在Mind+扩展上的传感器选项选择HUSKYLENS AI 摄像头 ②配置哈士

weixin_44606930的博客 2375

新手必读!2025最全AI智能体入门手册,50个问题全讲透

感知(Perception):能读取环境,比如读取网页数据、识别用户输入、接入 API;思考(Reasoning/Planning):理解任务目标,规划出行动步骤;行动(Action):调工具、查资料、发消息、写入数据库……直接执行任务。有了这三步,智能体才不是“一个会说话的大模型”,而是真正的“能落地执行的工作代理人”。多个 Agent 分工协作,每个智能体负责一个角色或任务节点,像一个“虚拟团队”。一个爬数据的 Agent,一个提炼要点的 Agent,一个撰写报告的 Agent,

互联网架构师笔记 1968

ArrayList类的用法

ArrayList类位于System.Collections;命名空间下,使用时需在命名空间区域添加using System.Collections;。它可以动态的添加和删除元素。可以将ArrayList类看作扩充了功能的数组,但它并不等同于数组。与数组相比,ArrayList类提供了一下功能a,数组的容量是固定的,而Ar...

qq_35485206的博客 514

【华为OD机试真题E卷】474、推荐多样性 | 机试真题+思路参考+代码解析(E卷复用)(C++、Java、Py)

题目描述 >推荐多样性需要从多个列表中选择元素,一次性要返回 N 屏数据(窗口数量),每屏展示 K 个元素(窗口大小),选择策略:   各个列表元素需要做穿插处理,即先从第一个列表中为每屏选择一个元素,再从第二个列表中为每屏选择一个元素,依次类推   每个列表的元素尽量均分为 N 份,如果不够 N 个,也要全部分配完,参考样例图:

KJ.JK 4434

Java中ArrayList类

ArratList 类:存放同一数据类型容器(只能为引用数据类型,因实际其内部存放的是地址) 1.导入其所在包  import java.util.ArratList 2.创建对象  ArrayList<E> 对象名=new ArrayList<>();    E:泛型数据类型,指定对象名中存放指定类型的数据,不可省略,需为引用数据类型 3.使用  即对象名.方法(...

weixin_30915275的博客 104

MATLAB - 激光雷达 - 相机联合标定(Lidar-Camera Calibration)

激光雷达传感器和相机通常在自动驾驶应用中结合使用,因为激光雷达传感器收集三维空间信息,而相机则以二维图像捕捉空间的外观和纹理。您可以融合来自这些传感器的数据来改进物体检测和分类。激光雷达-相机标定可以估算出一个变换矩阵,给出两个传感器之间的相对旋转和平移。在进行激光雷达-相机数据融合时,您可以使用该矩阵。本图说明了激光雷达和相机标定 (LCC) 过程的工作流程,我们使用棋盘格作为标定对象。我们从激光雷达和相机数据中提取棋盘角和平面,然后在它们的坐标系之间建立几何关系,进行标定。

机器人控制与仿真应用 7371

支付域——“清算、结算、清结算”

本文深入探讨了支付系统中的清算和结算流程,包括核心流程、模块设计及特殊场景处理。文章详细阐述了交易收单、资金冻结、清分规则、清算批处理、结算出账等关键步骤,并讨论了交易失败、数据不一致、退款、汇率波动等异常情况的处理方法。

庄小焱 2562

Java ArrayList类

到目前为止,我们想存储对象数据,选择的容器,只有对象数组。而数组的长度是固定的,无法适应数据变化的需求。为了解决这个问题,Java提供了另一个容器。的实现,存储在内的数据称为元素。此类提供一些方法来操作内部存储的元素。ArrayList对象不能存储基本类型,只能存储引用类型的数据。在JDK 7后,右侧泛型的尖括号之内可以留空,但是<>仍然要写。,但是存储基本数据类型对应的包装类型是可以的。所以,想要存储基本类型数据,对于元素的操作,基本体现在——增、删、查。集合类,让我们可以更便捷的存储和操作对象数据。

TMesh的博客 385

树根互联Java开发面试题及参考答案

说一下 Java 集合类。 Java 集合类是用于存储和操作一组对象的容器。它提供了多种数据结构,方便程序员对数据进行高效的管理和处理。 Java 集合框架主要包括两大接口:Collection 和 Map。 Collection 接口是一组对象的集合,它有三个主要的子接口:List、Set 和 Queue。 List 接口代表有序的集合,可以包含重复的元素。例如 ArrayList,它是基于数组实现的动态数组。它的优点是随机访问效率高,通过索引访问元素的时间复杂度为 O (1)。当

大模型大数据攻城狮的专栏 856

C#Array类和Arraylist动态数组

本文介绍了C#中数组和动态数组(ArrayList)的常用属性和方法,以及枚举和结构体的使用。数组部分包括Length、Rank属性以及Clear、Copy、Sort等方法;ArrayList部分讲解了Capacity、Count属性和Add、Insert、Remove等动态操作方法。枚举部分说明了定义语法、与整型/字符串的转换方法;结构体部分介绍了定义语法、成员变量和方法的声明与调用。全文通过代码示例详细演示了各种数据结构的实际应用方式,重点讲解了数组操作、动态数组扩容机制以及枚举值的转换规则。

2502_92473474的博客 1976

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Java ArrayList 类

ArrayList 类继承了 AbstractList 并实现了 List 接口。 ArrayList 支持可以根据需要增长的动态数组。 标准 Java 数组是固定长度的。 数组创建后不能增长或缩小,这意味着我们必须提前知道一个数组将包含多少个元素。 数组列表是使用初始大小创建的。 当超过这个大小时,集合会自动放大。 移除对象后,数组可能会缩小。 以下是 ArrayList 类提供的构造函数列表。 ArrayList 类位于 java.util 包中,使用前需要引入它,语法格式如下: import jav

迹忆客 2万+

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

【java-集合框架】ArrayList类

读源码,掌握java集合框架中的ArrayList类。

m0_74284629的博客 1432

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Scanner类 、Random类、ArrayList类、String类

API概述 ​ API(Application Programming Interface) 应用程序编程接口。Java API对于程序员来说就是一本可以检索查找的【字典】,是JDK官方提供给程序开发者使用类的说明文档。这些类将底层的代码封装起来,我们不需要关注这些类底层是如何实现的,我们只需要知道这些类是如何使用的。平常开发使用JDK类库的时候,通过查阅API的方式进行的。 API的使用步骤 1.打开帮助文档 2.点击显示,找到索引,找到输入框 3.在输入框中输入你要查找的类,然后回车 4.看

guibar的博客 216

Java中使用ArrayList类-创建动态的二维数组<>

本文通过实例讲解Java中如何使用ArrayList类。 Java.util.ArrayList类是一个动态数组类型,也就是说,ArrayList对象既有数组的特征,也有链表的特征。可以随时从链表中添加或删除一个元素。ArrayList实现了List接口。 大家知道,数组(平常你们最爱的new[]这些)是静态的,数组被初始化之后,数组长度就不能再改变了。ArrayList是可以动态改变大小的。那么,什么时候使用Array(数组),什么时候使用ArrayList?答案是:当我们不知道到底有多少个数据元素的时候

Hrenhua的博客 1万+

java-ArrayList类

在外卖系统中,每一份菜都包含,菜品的名称、菜品的原价、菜品的优惠价、菜品的其他信息。好了,如果你能够把这个案例写出来,说明你对面向对象的思维封装数据,以及使用ArrayList容器存储数据,并对数据进行处理这方面的知识已经运用的很熟悉了。各位同学,上一个ArrayList应用案例中,我们往集合存储的元素是String类型的元素,实际上在工作中我们经常往集合中自定义存储对象。然后集合有很多种,而ArrayList只是众多集合中的一种,跟多的集合我们在就业班的课程中再学习。那有了数组,为什么要有集合呢?

qq_69149404的博客 1112

Java:ArrayList类

1. 什么是ArrayList类 Java中,数组的长度是固定的,无法适应数据变化的需求,为了解决这个问题,Java提供了另一个容器java.util.ArrayList集合类,让我们可以更便捷的存储和操作对象数据。 2. 存储基本数据类型 ArrayList对象不能存储基本类型,只能存储引用类型的数据。类似<...

Asiawyz的博客 171

ArrayList类概述

1.ArrayList 1.1ArrayList类概述 什么是集合 ​ 提供一种存储空间可变的存储模型,存储的数据容量可以发生改变 ArrayList集合的特点 ​ 底层是数组实现的,长度可以变化 泛型的使用 ​ 用于约束集合中存储元素的数据类型 1.2ArrayList类常用方法 1.2.1构造方法 方法名 说明 public ArrayList() 创建一个空的集合对象 ...

weixin_46112639的博客 453
上一篇: 集合类介绍
下一篇: List类汇总
randomnet
博客等级 码龄19年 59粉丝 21原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值