當前位置:首頁 » 編程語言 » 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) 聲明一個列表,其元素的初始值來源於由區間所指定的序列中的元素

熱點內容
ftp匿名帳號 發布:2025-02-12 18:04:32 瀏覽:763
銳志哪個配置性價比最高 發布:2025-02-12 17:38:43 瀏覽:918
智能推送演算法 發布:2025-02-12 17:38:41 瀏覽:835
拍照上傳器 發布:2025-02-12 17:34:29 瀏覽:652
androidweb框架 發布:2025-02-12 17:32:45 瀏覽:76
安卓編程賀卡 發布:2025-02-12 17:32:44 瀏覽:838
php獲取資料庫的欄位 發布:2025-02-12 17:29:02 瀏覽:766
伺服器地址消失 發布:2025-02-12 17:23:36 瀏覽:951
後台執行php腳本 發布:2025-02-12 17:21:45 瀏覽:471
spring編程式事務 發布:2025-02-12 17:16:55 瀏覽:398