一个元素的二维数组列表进入java中的一维数组列表

     2023-02-26     50

关键词:

【中文标题】一个元素的二维数组列表进入java中的一维数组列表【英文标题】:2D arraylist with one element into 1D arraylist in java 【发布时间】:2021-12-31 10:38:26 【问题描述】:

如果我知道我的ArrayList<ArrayList<String>> 将只包含一个元素(列表中的一个列表),我如何将其转换为一维 ArrayList。这样从[["A","B"]] 我得到["A","B"]

【问题讨论】:

listOfLists.stream().flatMap(List::stream).collect(Collectors.toList()); - 即使有多个列表也可以工作。 Ideone demo 您的 2D 列表包含 1D 列表,这意味着您已经有 一些 1D 列表(在里面)。为什么要将 2D 列表转换为 1D?只需2dList.get(indexOf1DList) @Pshemo 因为我不想创建新变量 @Timmy333 为什么?你想要避免的劣势是什么?无论如何,您无法更改变量的类型,因此您无法将 ArrayList<ArrayList<String>> variable 更改为 ArrayList<String> variable,因此您没有太多选择(可能是原始类型,但那将是比疾病更糟糕的药物 - 请参阅:@ 987654322@) 我也从不建议创建新变量。您始终可以在所有地方直接使用2dList.get(indexOf1DList),而不是将其存储在变量中。 【参考方案1】:

如果我们在 Java 8+ 下运行,我们将能够使用java.stream API 来解决问题:

listOfLists.stream() // transform the list into a stream, i.e. each element in 
                     // the list (in our case: List<String>) will appear in the 
                     // Stream.

    .flatMap(List::stream) // flatten the stream: for each element in the stream 
                           // (List<String> in our case), stream those entries 
                           // (Strings), construct a new stream over all entries 
                           // (Strings) of all List<String>s in the stream

    .collect(Collectors.toList()); // returns all `String`s in a new List<String>

Ideone demo

【讨论】:

我尝试使用以下代码进行测试:ArrayList&lt;String&gt; a = new ArrayList&lt;&gt;(Arrays.asList("1", "2","3")); ArrayList&lt;ArrayList&gt; b = new ArrayList&lt;&gt;(Arrays.asList(a)); System.out.println(b); b.stream().flatMap(List::stream).collect(Collectors.toList()); System.out.println(b); 但它似乎不起作用,我两次都得到[["1","2","3"]] 你看过Ideone demo吗?我们必须将流操作的结果分配给一个变量:List&lt;String&gt; result = listOfList.stream()...【参考方案2】:

我认为您只需要使用 get 方法获取第一个元素。 然后将其放入一个新变量中,例如称为oneD

【讨论】:

scratch中间接实现多维数组支持

...维数组)来模拟实现它们。二维数组方法1:假设有如下一个二维数组:其中,简单变量row和col分别用来表示将来访问该数组的行索引与列索引。于是,可以定义如下的一个Scratch向量array2d来表示上述的二维数组:Scratch向量array2d... 查看详情

c语言怎么把二维数组的字符串给到一维数组?

...上述所有条件时,用memcpy的方式更为简单。个就是apply的一个巧妙的用处,可以将一个数组默认的转换为一个参数列表([param1,param2,param3]转换为param1,param2,param3)这个如果让我们用程序来实现将数组的每一个项,来装换为参数的列表。... 查看详情

java中的“二维”数组

...  {        int[][]arr=newint[3][3];//定义一个二维数组 &nbs 查看详情

java中一维,二维数组的静态和动态初始化

...量属于引用数据类型,数组也可以看成是对象,数组中的每一个元素相当于该对象的成员变量;数组中的元素可以是任何数据类型,包括基本数据类型和引用数据类型;一维数组的声明:声明方式:例如;inta[] =newint[3];Java语言中 查看详情

数据分析numpy数组(代码片段)

...同,数量事先给定。1 创建方式  (1)array():接收一个普通的Python序列(元组与列表并无区别),并将其转换为ndarray;#使用列表创建list1=[1,2,3,4,5]print(‘使用一维列表创建:‘,np.array(list1))list2=[[1,2,3],[4,5,6]]print(‘使用二... 查看详情

数组高级

 多维数组:数组语法:一维数组:数组中的每一个元素都是一个值.二维数组:数组中的每一个元素都是一个数组.三维数组:数组中的每一个元素都是一个二维数组.---------------------------------------------------------严格上说JAVA上不存在多... 查看详情

如何将二维数组的所有元素初始化为java中的任何特定值

...ava【发布时间】:2018-09-2813:04:21【问题描述】:在C++中有一个函数(memset())可以初始化一维数组和任何多维数组的值。但是在java中有一个函数fill可以初始化一维数组但不能初始化多维数组。【问题讨论】:您能详细说明一 查看详情

java基础|深入理解多维数组

...维数组当成几何中的线性图形,那么二维数组就相当于是一个表格。对于二维数组的理解,我们可以看成是一维数组。其实,从数组底层的运行机制来看,其实没有多维数组。0x00、二维数组[][]:数组中的数组动态和静态初始化... 查看详情

如何相应地用一维数组删除二维数组中的元素

...时间】:2021-03-3023:02:25【问题描述】:我正在用python制作一个Gui应用程序,我使用的是一个简单的sn-p。我不明白为什么会这样。代码:k=["Saikat","Ananya"]names=["Saikat", 查看详情

八二维数组

...当作一维数组处理,相当于这个一维数组中的元素仍然是一个数组 1.定义二维数组 语法: 方式一:元素类型[][]数组名称 方式二:元素类型数组名称[][] 推荐使用方式一 2.初始化二维数组 a.静态初始化 语法: 元素类型[][]数... 查看详情

java中的二维数组

...dquo;特殊”的一维数组,它的每个数组空间中保存的是一个一维数组。那么如何使用二维数组呢,步骤如下:1、声明数组并分配空间 2、赋值二维数组的赋值,和一维数组类似,可以通过下标来逐个赋值,注意索引从0开始... 查看详情

如何将所有数组的元素添加到python中的一个列表中[重复]

】如何将所有数组的元素添加到python中的一个列表中[重复]【英文标题】:howtoaddallarray\'selementstoonelistinpython[duplicate]【发布时间】:2013-04-2508:44:36【问题描述】:有一个看起来像这样的二维数组:myarray=[[\'jacob\',\'mary\'],[\'jack\',\'... 查看详情

java--二维数组(代码片段)

...概念在Java中二维数组被看作数组的数组,即二维数组为一个特殊的一维数组,其每个元素又是一个一维数组。Java并不直接支持二维数组,但是允许定义数组元素是一维数组的一维数组,以达到同样的效果。创建及初始化//创建... 查看详情

java示例代码_用整数填充java中的二维数组列表

java示例代码_用整数填充java中的二维数组列表 查看详情

java中如何创建一个二维数组,然后给二维数组赋值!

JAVA中如何创建一个二维数组,然后给二维数组赋值!1,创建二维数组语句:int[][]array=newint[3][3];2,直接创建二维数组并赋值语句:int[][]array=1,2,3,4,5,1,2,3,4,5,1,2,3,4,5;二维数组,也可以理解为用一维数组保存的元素为一维数组。对于... 查看详情

在二维数组的每一行末尾附加一个列表

】在二维数组的每一行末尾附加一个列表【英文标题】:appendalistattheendofeachrowof2Darray【发布时间】:2014-10-2105:15:45【问题描述】:我想在二维数组(a)的每一行末尾附加一个列表/一维数组(b)输入:a=np.array([[1,1],[2,2],[3,3]])b=np.array([... 查看详情

细说java中的二维及多维数组

...多少列。例如:int0[][]a=newint[3][4];上面两行代码声明了一个二维的整型数组a并分配一块内存空间,是一个3行4列的整型数组。 查看详情

试图制作一个二维数组列表

】试图制作一个二维数组列表【英文标题】:Tryingtomakea2Darrayoflists【发布时间】:2010-11-1711:15:13【问题描述】:我正在尝试编写一个包含数字生物的模型。在模型中,我认为环境是一个固定的二维数组,但每个单元格都需要包含... 查看详情