各種集合轉換處理 Lambda

2021-09-25 04:45:00 字數 2678 閱讀 9019

1.json轉map

string data = "";

mapitemdata = json.parseobject(data, new typereference>(){});

2.filter和map

filter:用於通過設定的條件過濾出元素

map:用於對映每個元素到對應的結果

只獲取flag為true的id

listids= goodslist.stream().filter(p -> p.getflag().equals(true)).map(goods::getid).collect(collectors.tolist());
3.foreach

遍歷list,通過***獲取

list.foreach(***-> );
4.limit

獲取限定的流

只獲取乙個goods

list.stream().limit(1).foreach(goods->);
5.sorted

用於對流進行排序

//對常用型別的數值進行排序

random random = new random();

random.ints().limit(10).sorted().foreach(system.out::println);

/list.stream().map(p->p.getgoodsid()).sorted().foreach(system.out::println);

根據物件的主鍵(goodsid)進行排序

(comparator本人理解為實現介面)

//遞增

list.stream().sorted(comparator.comparing(goods::getgoodsid)).foreach(goods->);

//逆向(遞減)

list2.stream().sorted(comparator.comparing(goods::getgoodsid).reversed()).foreach(goods->);

//其他

grouping.entryset().stream()

.sorted((o1,o2) -> )

.foreachordered(x -> result.put(x.getkey(), x.getvalue()));

6.list和陣列 互轉

//list轉陣列

string arrays = list.toarray(new string[0]);

//或string arrays = list.stream().toarray(string::new);

//陣列轉list

liststringlist = arrays.aslist(array);

//或者

listlist = stream.of(arrays).collect(collectors.tolist());

7.set和陣列 互轉

//set轉陣列

string array=set.toarray(new string[0]);

//或string array= set.stream().toarray(string::new);

//陣列轉set

setset = new hashset<>(arrays.aslist(array));

//或setset = stream.of(array).collect(collectors.toset());

8.set和list互轉

//set轉list

listlist=new arraylist<>(set);

或list list=stream.of(set.toarray(new string[0])).collect(collectors.tolist());

//list轉set

setset=new hashset<>(list);

//或setset = list.stream().collect(collectors.toset());

9.map和set互轉

setids = goodsmap.keyset();
10.list轉map

mapk2)));

//(k1, k2)->k2) 若出現id重複的,則替換為第2個物件;少了這一句也可以,但是會丟擲異常

其他

將list 轉為 id01,id02,id03

//import org.apache.commons.lang3.stringutils;

string ids= stringutils.join(idlist, ",");

集合轉換處理

1 集合轉陣列 listlist new arraylist list.add a string array new string list.size list.toarray array 2 split獲得陣列 string s 1,a,2,2,string array s.split 但是這個a...

各種排序演算法集合

include stdafx.h include include include using namespace std void insertsort int a,int n void shellinsertsort int a,int n,int d void shellsort int a,i...

各種進製轉換

今天看到雅虎一道面試題,竟然是一道進製轉換的題,並且還不允許用printf 自帶的函式庫來做,所以就整理一下,以備不時之需 十進位制轉換為其他進製 十進位制轉換為其他進製可使用printf函式直接轉換 庫函式使用 1 十進位制轉化為八進位制 使用庫函式 int main 自己 遞迴方法 includ...