-
2022-05-23 09:22:27
1、常规操作 new ArrayList<>() 创建
List<Integer> list = new ArrayList<>(); list.add(1); list.add(2); list.add(3);
2、Arrays工具类创建
List<Integer> list = Arrays.asList(1, 2, 3);
Arrays.asList() 方法是 Arrays 的静态方法。这种方式构造的 List 是固定长度的,如果调用 add 方法增加新的元素时会报异常 java.lang.UnsupportedOperationException。这种方式仅适用于构造静态不变的 List。
如果想要改变可以通过 ArrayLis t进行包装成动态。
List<Integer> list = Arrays.asList(1, 2, 3); list = new ArrayList<>(list); list.add(4);
3、Stream创建
List<Integer> list = Stream.of(1, 2, 3).collect(Collectors.toList());
4、匿名内部类创建
List<Integer> list= new ArrayList() {{ add(1); add(2); add(3); }};
5、Hutool工具类创建
List<Integer> list = CollectionUtil.newArrayList(1, 2, 3);
6、guava工具类创建
import com.google.common.collect.Lists; List<Integer> list = Lists.newArrayList(1, 2, 3);
7、JDK9 引入的Lists创建
List<Integer> list = Lists.newArrayList(1, 2, 3);
8、JDK9引入 List.of (不可变)
List<Integer> list = List.of(1,2,3);
更多相关内容 -
如何在Java中创建一个新的List
2020-04-13 15:48:11We create a Set as: 我们创建一个Set为: Set myset = new HashSet() How do we create a List in Java? 我们如何在本文翻译自:How to make a new List in Java
We create a
Set
as: 我们创建一个Set
为:Set myset = new HashSet()
How do we create a
List
in Java? 我们如何在Java中创建List
?
#1楼
参考:https://stackoom.com/question/3bLw/如何在Java中创建一个新的List
#2楼
Using Google Collections , you could use the following methods in the Lists class 使用Google Collections ,您可以在Lists类中使用以下方法
import com.google.common.collect.Lists; // ... List<String> strings = Lists.newArrayList(); List<Integer> integers = Lists.newLinkedList();
There are overloads for varargs initialization and initialising from an
Iterable<T>
. varargs初始化和从Iterable<T>
初始化有重载。The advantage of these methods is that you don't need to specify the generic parameter explicitly as you would with the constructor - the compiler will infer it from the type of the variable. 这些方法的优点是您不需要像使用构造函数那样显式地指定泛型参数 - 编译器将根据变量的类型推断它。
#3楼
List<Object> nameOfList = new ArrayList<Object>();
您需要导入
List
和ArrayList
。
#4楼
Let me summarize and add something: 让我总结并添加一些内容:
1. new ArrayList<String>(); 2. Arrays.asList("A", "B", "C")
1. Lists.newArrayList("Mike", "John", "Lesly"); 2. Lists.asList("A","B", new String [] {"C", "D"});
Immutable List 不变的清单
1. Collections.unmodifiableList(new ArrayList<String>(Arrays.asList("A","B"))); 2. ImmutableList.builder() // Guava .add("A") .add("B").build(); 3. ImmutableList.of("A", "B"); // Guava 4. ImmutableList.copyOf(Lists.newArrayList("A", "B", "C")); // Guava
Empty immutable List 空不可变列表
1. Collections.emptyList(); 2. Collections.EMPTY_LIST;
List of Characters 字符列表
1. Lists.charactersOf("String") // Guava 2. Lists.newArrayList(Splitter.fixedLength(1).split("String")) // Guava
List of Integers 整数列表
Ints.asList(1,2,3); // Guava
#5楼
As an option you can use double brace initialization here: 作为选项,您可以在此处使用双括号初始化:
List<String> list = new ArrayList<String>(){ { add("a"); add("b"); } };
#6楼
List arrList = new ArrayList();
Its better you use generics as suggested below: 它更好地使用泛型,如下所示:
List<String> arrList = new ArrayList<String>(); arrList.add("one");
Incase you use LinkedList. 如果你使用LinkedList。
List<String> lnkList = new LinkedList<String>();
-
Java创建初始化List集合的几种方式
2022-04-20 09:41:341.常规操作 List<Integer> list=new ArrayList<>(); list.add(1); list.add(2);...这种方式构造的List是固定长度的,如果调用add方法增加新的元素,会报异常java.lang.UnsupportedOperationEx1.常规操作
List<Integer> list=new ArrayList<>(); list.add(1); list.add(2); list.add(3);
2.Arrays工具类(不可变)
List<Integer> list1= Arrays.asList(1,2,3);
asList是Arrays的静态方法。这种方式构造的List是固定长度的,如果调用add方法增加新的元素,会报异常java.lang.UnsupportedOperationException。适用于构造静态不变的List.
但是可以通过ArrayList进行包装成动态。
List<Integer> list2=new ArrayList<>(Arrays.asList(1,2,3)); list2.add(4);
3.JDK8引入的Stream提供的方法
List<Integer> list3 = Stream.of(1, 2, 3).collect(toList());
4.Collections工具类(不可变)
List<Integer> list4 = Collections.nCopies(5, 1);
复制某元素N遍
也可通过ArrayList进行包装List<Integer> list5 = new ArrayList<>(Collections.nCopies(5, 1)); list5.add(2);
5.匿名内部类
List<Integer> list6 = new ArrayList() {{ add(1); add(2); add(3); }}; list6.add(4);
6.JDK9引入的 Lists
List<Integer> list7 = Lists.newArrayList(1, 2, 3); list7.add(4);
7.使用 guava包的Lists
使用方法同上,提出这种方法主要是很多项目还是java8,没法直接用java9的Lists。
List<Integer> list8 = Lists.newArrayList(1, 2, 3); list8.add(4);
8JDK9引入 List.of (不可变)
List<Integer> list9 = List.of(1,2,3);
-
Java创建List有几种方式?
2020-06-19 16:04:24方式一: List<String> nodes = Arrays.asList("财务审核", "财务复核", "财务主管审核","CFO","收单审核");1. 通过new ArrayList<>()
List<String> list = new ArrayList<>();
2. 通过Arrays.asList()
List<String> stringList = Arrays.asList("1", "2", "3");
3. 通过Hutool工具类CollectionUtil创建List<String> listData = CollectionUtil.newArrayList("1", "2", "3");
hutool依赖:
<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>4.5.7</version> </dependency>
junit依赖:
<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <!-- 不设置scope就是全局--> <scope>test</scope> </dependency>
完整测试代码:
package com.example.shop; import cn.hutool.core.collection.CollectionUtil; import org.junit.Test; import org.springframework.boot.test.context.SpringBootTest; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; @SpringBootTest public class MyShopApplicationTests { @Test public void contextLoads() { } @Test public void createList() { List<String> list = new ArrayList<>(); Collections.addAll(list, "1", "2", "3"); System.out.println(list); List<String> stringList = Arrays.asList("1", "2", "3"); System.out.println(stringList); List<String> listData = CollectionUtil.newArrayList("1", "2", "3"); System.out.println(listData); } }
打印结果:
[1, 2, 3]
[1, 2, 3]
[1, 2, 3] -
Java中怎样新建一个list并给其赋值
2020-08-19 08:12:45如果想在新建一个list并赋值要怎么办。 注: 博客:https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书、教程推送与免费下载。 实现 List<String> list= new ... -
java如何new一个空的List
2022-03-31 20:59:42Collections.emptyList(); -
java快速创建List
2020-04-29 11:22:31嗯 创建方式跟JDK的版本有关,JAVA8中可以使用Arrays.asList,Java9中可以使用List.of。 public static void main(String[] args) { // TODO Auto-generated method stub //1.使用Collections.addAll()方法,... -
java – 创建一个包含多个对象类型的arraylist?
2021-03-07 00:59:31用户定义的类阵列列表示例import java.util.*;public class UserDefinedClassInArrayList {public static void main(String[] args) {//Creating user defined class objectsStudent s1=new Student(1,"AAA",13);... -
Java创建List数组
2020-04-29 20:57:55和普通数组差不多,但每个数组单元在用之前要new一个对象给他 !!![ ]不可写在数据类型后面,一定要写在数组名后面 //创建List数组 List<Integer> lis[]=new ArrayList[n+1]; //初始化list数组 for (int ... -
Java创建List的4种方法
2021-02-12 09:46:46然后调用list.add增加元素,如果知道初始化的值,这种先构造再一项项添加的方式,用起来并不爽,于是一边都用下面的方法2、通过Arrays.asList("a", "b");但是这种方法构造出的List是固定长度的,如果调用add方法增加... -
JAVA基础——创建一个List集合,再将该List写入文件里面
2020-07-29 19:47:35package wanshang; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter;...import java.io.IOException;...import java.util.List; . -
Java快速创建List的4种方法
2021-02-27 12:00:25然后调用list.add增加元素,如果知道初始化的值,这种先构造再一项项添加的方式,用起来并不爽,于是一边都用下面的方法2、通过Arrays.asList("a", "b");但是这种方法构造出的List是固定长度的,如果调用add方法增加... -
java – 当我们创建空的不可变列表/集合/映...
2021-03-08 01:05:06在Java 9之前,有Collections.emptyList(),Collections.empty... List.of()等也可以做到这一点是他们的API的内部一致性问题,而不是一个革命性的新功能.但你的主要问题似乎是Please help me to understand the actual ... -
Java将一个List中的值赋值给另一个List
2021-01-14 18:20:34刷leetcode中的一道dfs题时,添加结果集时如果不新创建list所有添加的list都是同一个,并且回溯得到时候会删掉所有元素。 Java中 "="的作用有两个: 1.赋值 2.指向地址 当对基本数据类型进行赋值时 "="的作用就是... -
Java判断两个List是否相同
2021-03-15 02:27:571.利用Java中为List提供的方法retainAll()/*** 判断两个List内的元素是否相同* * 此方法有bug 见Food.class** @param list1* @param list2* @return*/private static boolean getDiffrent2(List list1, List list2) ... -
Java 创建 List 的时候直接赋值
2020-08-18 16:23:47() { // 第一个花括号表示匿名内部类 { // 第二花括号表示匿名内部类的构造代码块,可以有多个。构造代码块在构造函数前执行,匿名内部类的构造代码块在调用父类同参构造函数后执行 this.add("A"); this.add("B")... -
java中list快速创建
2019-03-12 17:19:58一般我们创建list集合都是先new一个然后调用add方法添加值,但是有时候只有几个固定值的时候就有点多余了, 今天使用时因为业务原因只有三个值,所以百度了下发现这个快速创建list集合的方法,如下:、 一般创建... -
Java克隆复制一个新的List集合的方法
2021-02-12 10:01:58在Java开发中,有时候我们为了源List集合的数据不被修改,如果...Java克隆复制ArrayList等List集合的方法一:Java中克隆复制一个List可以在创建List对象时通过将源List集合以参数的形式传入即可,代码如下:import... -
java创建List时候 初始化赋值
2019-08-04 17:19:07在这之前 可能有的读者, 只知道数组初始化 时候的赋值。...当创建list时候,也许 你还会写过以下代码 正确的写法 List<String> list = new ArrayList<>() {//这个大括号 就... -
Java创建List、Map等集合对象的同时进行赋值操作
2021-03-06 14:58:42String strs = {"a", "b", "c"}但是,如果我们创建List集合,或者Map集合时,也想快速地为它赋初始值,应当如何做呢?解决方式方式1:调用函数请看如下代码:ArrayList list = new ArrayList<>(Arrays.as... -
java List 按指定长度分割
2021-03-08 03:15:52splitList(List list, int groupSize){int length = list.size();// 计算可以分成多少组int num = ( length + groupSize - 1 )/groupSize ; // TODOList> newList = new ArrayList<>(num);f... -
Java如何创建空的集合对象?
2021-03-22 17:50:32有时您需要从Java方法返回一个空集合。java.util.Collections实用工具类具有创建空的三个不同的静态常量List,Set和Map。Collections.EMPTY_LISTCollections.EMPTY_SETCollections.EMPTY_MAP当您要创建类型安全的空... -
【Java】List集合常用创建方式
2019-07-24 15:05:021、常规方式 List<String> languages = new ArrayList...languages.add("Java"); languages.add("PHP"); languages.add("Python"); System.out.println(languages); 2、Arrays 工具类 List<String>... -
Java创建数组的方法
2022-04-03 21:11:56Java创建数组的方法大致有三种 说明:这里以int为数据类型,以arr为数组名来演示 一、声明并赋值 int[] arr = {1,2,4, …}; 注意这里的花括号不是语句块,而且而且花括号后的分号也不能省,…不是元素意思是可以指定... -
java 两个List集合各种情况对比处理
2021-03-04 04:51:08Lambda作为函数式编程中的基础部分,在其他编程语言(例如:Scala)中早就广为使用,但在JAVA领域中发展较慢,直到java8,才开始支持Lambda。抛开数学定义不看,直接来认识Lambda。Lambda表达式本质上是匿名方法,其... -
java 创建集合时最好设置一个预估初始容量
2021-02-12 23:17:35大神们在创建集合的时候,大多数都设置了一个预估的初始容量(2的幂数),而不是直接采用默认的初始容量( HashMap 中是16),就像下面这样:/** Map from dependency type to corresponding autowired value */private ... -
Java 创建列表
2021-11-18 11:45:48•List接口:线性表(linear list) •主要的实现类是ArrayList、LinkedList,以及早期的Vector •List接口 public interface List<E> extends Collection<E> {E get(intindex); E set(intindex, E... -
Java两个List差集
2019-11-02 21:42:291、创建测试类(TestList5.java) package com.jeff; import java.util.ArrayList; import java.util.List; public class TestList5 { public static void main(String[] args) { List<String> l1 = new... -
Java 创建 List 和 Map 同时赋初值的 5 种方式
2020-01-16 14:53:40一、最常见的初始化方式 先创建,再添加元素 List 从源码可以看出: List 的默认长度为10 递增后的长度为先前长度的 1.5 倍 最大长度是 Integer.MAX_VALUE,即 2,147,483,647 或 0x7f ff ff ff List<String>...