java Long[] ids转为List<Long> ids

news/2025/3/13 10:16:22/

方法 1:使用 Arrays.asList

java">import java.util.Arrays;
import java.util.List;public class Main {public static void main(String[] args) {Long[] ids = {1L, 2L, 3L, 4L};List<Long> list = Arrays.asList(ids);System.out.println(list); // 输出: }
}
注意:
  • Arrays.asList 返回的是一个固定大小的 List,不能添加或删除元素。
  • 如果 ids 是 long[](基本类型数组),Arrays.asList 会将其视为单个元素,而不是转换为 List<Long>

方法 2:使用 Stream(Java 8+)

java">import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;public class Main {public static void main(String[] args) {Long[] ids = {1L, 2L, 3L, 4L};List<Long> list = Arrays.stream(ids).collect(Collectors.toList());System.out.println(list); // 输出: }
}
优点:
  • 返回的是一个可变的 List,支持添加或删除元素。
  • 适用于 Long[] 或 long[] 数组。

方法 3:使用 Collections.addAll

java">import java.util.ArrayList;
import java.util.Collections;
import java.util.List;public class Main {public static void main(String[] args) {Long[] ids = {1L, 2L, 3L, 4L};List<Long> list = new ArrayList<>();Collections.addAll(list, ids);System.out.println(list); // 输出: }
}
优点:
  • 返回的是一个可变的 List,支持添加或删除元素。

方法 4:手动遍历数组

java">import java.util.ArrayList;
import java.util.List;public class Main {public static void main(String[] args) {Long[] ids = {1L, 2L, 3L, 4L};List<Long> list = new ArrayList<>();for (Long id : ids) {list.add(id);}System.out.println(list); // 输出: }
}
优点:
  • 灵活性高,可以在遍历时进行额外操作。

方法 5:使用 Guava 库(第三方库)

如果你使用了 Google Guava 库,可以使用 Lists.newArrayList

java">import com.google.common.collect.Lists;
import java.util.List;public class Main {public static void main(String[] args) {Long[] ids = {1L, 2L, 3L, 4L};List<Long> list = Lists.newArrayList(ids);System.out.println(list); // 输出: }
}
优点:
  • 代码简洁,适用于多种集合操作。

总结

方法可变性是否需要额外库适用场景
Arrays.asList不可变不需要快速转换,不需要修改集合
Stream可变不需要Java 8+,支持链式操作
Collections.addAll可变不需要适用于多种集合类型
手动遍历可变不需要需要额外操作时使用
Guava可变需要使用 Guava 库时

推荐使用 方法 2(Stream),因为它简洁、功能强大,且适用于现代 Java 开发。


http://www.ppmy.cn/news/1578764.html

相关文章

C# 初学者的系统学习路径与职业规划指南

C#基础知识与核心技能 C# 初学者的系统学习路径与职业规划指南一、基础知识与核心技能二、进阶技能与设计模式三、.NET Core 程序员的职业规划引用来源1. **Stack Overflow**2. **GitHub**3. **Reddit 社区**4. **Discord 社区**5. **Microsoft Learn**6. **YouTube 频道**7. *…

Kubernetes 中 YAML 文件详解

Kubernetes 中 YAML 文件详解 在 Kubernetes&#xff08;简称 K8s&#xff09;的世界里&#xff0c;YAML&#xff08;Yet Another Markup Language&#xff09;文件是核心配置工具。K8s 作为一个强大的容器编排系统&#xff0c;允许用户通过 YAML 文件来定义和管理各种资源&am…

【Android】adb shell基本使用教程

adb shell 是 Android Debug Bridge (ADB) 工具中的一个命令&#xff0c;用于在连接的 Android 设备或模拟器上执行 shell 命令。通过 adb shell&#xff0c;你可以直接与设备的 Linux 内核交互&#xff0c;执行各种操作。 基本用法 启动 adb shell&#xff1a; 在终端或命令提…

Spring Boot集成EasyExcel

1. 初始化Spring Boot项目 首先&#xff0c;使用Spring Initializr&#xff08;https://start.spring.io/&#xff09;生成一个基本的Spring Boot项目。选择以下依赖项&#xff1a; Spring WebLombok (用于减少样板代码)SLF4J (用于日志记录) 2. 添加依赖 在你的pom.xml文件…

高阶哈希算法

SHA-256简介 SHA-256 是 **SHA-2&#xff08;Secure Hash Algorithm 2&#xff09;**家族中的一种哈希算法&#xff0c;由美国国家安全局设计&#xff0c;并于 2001 年发布。它能够将任意长度的数据映射为一个固定长度256 位&#xff0c;即 32 字节的哈希值&#xff0c;通常以…

日志系统项目——准备工作了解类的设计模式如单例模式、工厂模式、代理模式

1.六大原则 1.1 单一职责原则 类的职责应该单⼀&#xff0c;⼀个⽅法只做⼀件事。职责划分清晰了&#xff0c;每次改动到最⼩单位的⽅法或 类。 使⽤建议&#xff1a;两个完全不⼀样的功能不应该放⼀个类中&#xff0c;⼀个类中应该是⼀组相关性很⾼的函 数、数据的封装 ⽤例…

Rust 之一 基本环境搭建、各组件工具的文档、源码、配置

概述 Rust 是一种强调性能、类型安全和并发性的通用编程语言。它强制执行内存安全&#xff0c;使用其特有的所有权机制&#xff0c;而无需传统的垃圾收集器。Rust 不强制执行编程范式&#xff0c;但受到函数式编程思想的影响。 最初是由 Mozilla 员工 Graydon Hoare 在 2006 年…

cocos creator使用mesh修改图片为圆形,减少使用mask,j减少drawcall,优化性能

cocos creator版本2.4.11 一个mask占用drawcall 3个以上&#xff0c;针对游戏中技能图标&#xff0c;cd,以及多玩家头像&#xff0c;是有很大优化空间 1.上代码&#xff0c;只适合单独图片的&#xff0c;不适合在图集中的图片 const { ccclass, property } cc._decorator;c…