当前位置:首页 » 编程语言 » javaliststream

javaliststream

发布时间: 2022-05-27 02:40:36

A. java for循环 怎样把一个list里相同的数据放到一起

通过题主的描述可以看到,其实就是一个List<Integer>的集合数据处理问题,希望把相同的数据放到一起,是一种归类操作,也就是说其实总得需要把List<Integer>形式转化为Map<Integer, List<Integer>>的形式

这种形式map的key也就是当前的这个数字,而这个value就是这个数字对应的所有当前出现此key的集合

List<Integer>list=Arrays.asList(1,1,2,3,4,2,1);
Map<Integer,List<Integer>>map=newHashMap<>();
for(Integernum:list){
//map是否包含此key,若已经包含则添加一个新的数字到对应value集合中
if(map.containsKey(num)){
map.get(num).add(num);
}else{
//map不包含此key,则重新创建一个新集合,并把这个数字添加进集合
//,再把集合放到map中
List<Integer>newList=newArrayList<>();
newList.add(num);
map.put(num,newList);
}
}
System.out.println(map);

输出结果

结果也是一样的,题主可以自行选择

B. java stream 及早求值

流使用的通用格式:
获得流对象Stream
对流对象Stream进行惰性求值,返回值仍然是一个Stream对象。
对流对象Stream进行及早求值,返回值不在是一个Stream对象。

C. java list.stream.filter 效率高吗

不高 以前测试着玩过 lambda效率好像还不如foreache

D. Java8 新特性中的Stream,如何按照条件替换原来stream中的数据

1、首先利用foreach()方法对Stream元素进行遍历,如下图所示。

E. 创建一个方法,参数1:List类型,传入可能为null;参数2:int类型;基于stream操

这是Java8的开始的新API ,stream 流操作

首先创建一个User类,然后创建一个Test 测试类

//核心代码如下
publicstaticList<User>filterByLevel(List<User>list,intlevel){
returnlist==null?newArrayList<>():list.stream().filter(u->u.getLevel()==2).collect(Collectors.toList());
}

完整参考代码和注释如下

importjava.util.ArrayList;
importjava.util.List;
importjava.util.stream.Collectors;
//用户类
classUser{
privateStringname;//名
privateintlevel;//等级

publicUser(){//无参数构造器
}
publicUser(Stringname,intlevel){//有参数构造器
this.name=name;
this.level=level;
}
//方便测试,重写toString方法
publicStringtoString(){
return"User[name="+name+",level="+level+"]";
}

//----下面是属性的setter和getter----
publicStringgetName(){
returnname;
}

publicvoidsetName(Stringname){
this.name=name;
}

publicintgetLevel(){
returnlevel;
}

publicvoidsetLevel(intlevel){
this.level=level;
}
}

//测试类
publicclassTest{
publicstaticvoidmain(String[]args){
List<User>list=newArrayList<User>();
list.add(newUser("张三",1));
list.add(newUser("李四",2));
list.add(newUser("王五",2));
list.add(newUser("燕小六",3));
list.add(newUser("田七",2));

List<User>resultList=filterByLevel(list,2);
System.out.println(resultList);
}

//题目要求的方法
publicstaticList<User>filterByLevel(List<User>list,intlevel){
if(list==null){//如果list为null.返回一个空的集合
returnnewArrayList<User>();
}

//集合进行流处理.筛选level为2的元素,并且把满足条件的结果收集起来
return
list.stream()
.filter(u->u.getLevel()==2)
.collect(Collectors.toList());

}
}

F. Java8,stream().map().collect(Collectors.toList()).forEach()和stream().map().forEach()有啥区别

在stream().map().collect(Collectors.toList()).forEach()中,你的forEach()针对的List;而
stream().map().forEach()针对的是Stream流。从结果操作来看是一样的,中间过程回产生一些临时变量。

G. JAVA1.8Stream如何使用

这个叫stream流运算,是目前市场上比较流行的用法,效率会比较高,举几个例子吧:

常用的流

1、collect(Collectors.toList())

将流转换为list。还有toSet(),toMap()等。

这几个是我觉得在公司比较实用的,可以多练习,然后在看比较深的steamAPI。纯手打望采纳。

H. 求助大神:java 中 现有一个list 要取出list中所有元素拼接成字符串以逗号隔开应该如何做

publicclassTest{
publicstaticvoidmain(String[]args){
List<String>list=newArrayList<>();
list.add("a");
list.add("b");
list.add("c");
list.add("d");

Stringstr="";
for(inti=0;i<list.size();i++){
str+=list.get(i)+",";
}
System.out.println(str);
}
}

I. Java8中List直接写forEach与调用.stream().forEach()有何差别

java8中,引入了流的概念,主要的目的还是为了,提高代码的可读性和编写代码时的实效性,实际上,在简单的代码逻辑中,流的优势并体现不出来,但是在复杂的业务操作逻辑中,流的优势就很大了。
那你应该注意的,不是foreach的区别,而是用传统的集合工具实现循环,和用流的概念来实现循环的区别。
所以还是认真的了解流(stream)的概念

J. java中 如何从LIST 查找指定元素的位置

//先用contains判断是否有该元素

if(list集合.contains(对象)){

list集合.indexOf(对象名);

}

因为List 是一个元素有序的、可以重复、可以为 null的集合;

所以;

indexOf可以获取元素出现的第一个位置的引索,与之相反的是lastlndexOf获取元素最后出现的位置引索,如果集合中没有该元素则返回-1,其原理都是利用equals方法配合历遍来判断。

(10)javaliststream扩展阅读:

C++中list用法详解

.1list中的构造函数:

list() 声明一个空列表;

list(n) 声明一个有n个元素的列表,每个元素都是由其默认构造函数T()构造出来的

list(n,val) 声明一个由n个元素的列表,每个元素都是由其复制构造函数T(val)得来的

list(n,val) 声明一个和上面一样的列表

list(first,last) 声明一个列表,其元素的初始值来源于由区间所指定的序列中的元素

热点内容
nokia恢复出厂密码是多少 发布:2025-02-12 16:49:03 浏览:276
什么是系统相册缓存 发布:2025-02-12 16:49:02 浏览:521
怎么创建密码重置盘 发布:2025-02-12 16:36:59 浏览:676
php读取时间 发布:2025-02-12 16:23:48 浏览:385
祛痘液如何配置 发布:2025-02-12 16:21:22 浏览:748
安卓手机如何拷贝电脑里 发布:2025-02-12 16:16:30 浏览:860
linux怎么编译内核 发布:2025-02-12 16:03:02 浏览:189
新的怎么注册微信账号密码忘了怎么办 发布:2025-02-12 15:50:08 浏览:660
android代码搜索 发布:2025-02-12 15:45:36 浏览:779
矢量图算法 发布:2025-02-12 15:43:53 浏览:193