如何从java中的列表列表中获取第一个值

问题描述 投票:0回答:3

如何从列表列表中获取第一个字符串值。(我不是java专家)

private List<ListView> listView;

listView= List.of(firstlist(), secondlist(), thirdlist())

private List<ListView> firstlist;
private List<ListView> secondlist;
private List<ListView> thirdlist;

firstlist(){"mango", "Apple", "Ornage"}
secondlist(){"book", "pen", "pencil"}
thirdlist(){"van", "car", "lorry"}

这里 listview list 又包含三个列表[即firstlist(), secondarylist(),thirdlist()] 我需要获取所有三个列表的第一个值并将其存储在 Arraylist 中。我尝试过类似的事情,

List listViewTitle = new ArrayList<>(listView.forEach(sublist -> sublist.getFirstValue()));

但是没有成功。我需要从列表列表中的每个迭代器中获取第一个字符串。我需要将 芒果、书、货车 存储到 listViewTitle Arraylist

java
3个回答
3
投票
import java.util.List;
import java.util.stream.Collectors;

public class Application {

    public static void main(String[] args) {

        List<List<String>>  list = List.of(List.of("A1","B1"),List.of("A2","B2"));

       List<String> listOnlyFirstOne  =  list
                            .stream() // create a stream
                            .map(subList -> subList.get(0)) // collect only first one of each list
                            .collect(Collectors.toList()); // collect result from map into new list
     
       listOnlyFirstOne.forEach(System.out::println); // print new list
       
    }

}

1
投票
List<String> listViewTitle = new ArrayList<>();
listView.forEach(sublist -> listViewTitle.add(sublist.get(0)));

0
投票

List#getFirst

在 Java 21 中,

List
终于 获得了
getFirst
getLast
的直接方法。

这些新方法是添加到 Java Collections Framework 中的 Sequenced Collections 功能的一部分。 有关更多信息,请参阅 Stuart Marks 的本指南本演讲

样本数据:

List < List < String > > listOfLists =
        List.of(
                List.of( "mango" , "Apple" , "Ornage" ) ,
                List.of( "book" , "pen" , "pencil" ) ,
                List.of( "van" , "car" , "lorry" )
        );

创建这些内部列表的流。提取每个内部列表的第一个元素。然后将这些第一个元素收集到它们自己的列表中。

List < String > firsts = listOfLists.stream( ).map( List :: getFirst ).toList( );

转储到控制台。

listOfLists.forEach( System.out :: println );
firsts.forEach( System.out :: println );
[mango, Apple, Ornage]
[book, pen, pencil]
[van, car, lorry]
mango
book
van
© www.soinside.com 2019 - 2024. All rights reserved.