大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java中collection常用方法詳解

Java中collection常用方法詳解

更新時間:2020-08-07 16:21:49 來源:動力節點 瀏覽3440次

Collection方法接口介紹

Collection接口有3種子類型集合:List、Set和Queue,再下面是一些抽象類,最后是具體實現類,常用的有ArrayList、LinkedList、HashSet、LinkedHashSet、ArrayBlockingQueue等,下面是Collection的所有方法。

java中collection方法

這些方法即可以操作Set集合,也可以操作Queue和List集合,下面分別使用Collection集合接口的方法說明

java中collection方法

下面是主要方法的演示:  

@Test
????@SuppressWarnings("all")
????public?void?testCollection()?{
????????//?創建Collection接口的實現
????????Collection?collection?=?new?ArrayList<>();
????????//?添加元素
????????collection.add("嘻嘻");
????????String?src?=?"????";
????????collection.add(src);
????????System.out.println(collection);

????????//?創建Collection的實現
????????Collection?coll?=?new?HashSet<>();
????????coll.add("?");
????????coll.add("?");
????????coll.add("?");
????????System.out.println(coll);
????????//?添加一個集合數據
????????collection.addAll(coll);
????????//?輸出集合的長度
????????System.out.println(collection);
????????//?判斷是否包含
????????System.out.println(collection.contains("?"));
????????//?移除元素
????????collection.remove("?");
????????//?添加對象
????????collection.add(new?Person("張三",?23,?5000d));
????????//?當認為兩個對象屬性一致,相等時候,需重寫hashCode?和?equals方法
????????System.out.println(collection.contains(new?Person("張三",?23,?5000d)));

????????System.out.println("-------");
????????collection.add(null);
????
????????Collection?collection1?=?new?ArrayList<>();
????????collection1.add("嘻嘻");
????????collection1.add("?");
????????//?求兩個集合的交集(只保留collection1存在的元素)
????????collection.retainAll(collection1);
????????System.out.println(collection);
????????//?清空元素
????????collection.clear();
????????System.out.println(collection);
????}

java8新特性操作集合

使用lambda表達式遍歷集合

java8為Collection的父接口(Iterable)提供了一個默認的Foreach方法,我們可以使用它進行集合遍歷 

?@Test
????public?void?testForeach()?{
????????Collection?collection?=?new?ArrayList<>();
????????collection.add("i");
????????collection.add("love");
????????collection.add("china");
????????//?foreach遍歷
????????collection.forEach(e->?System.out.println(e));
????????//?可以使用方法引用簡寫
????????collection.forEach(System.out::println);
????????//?或者迭代器的forEachRemaining方法
???????collection.iterator().forEachRemaining(System.out::println);
????}

使用java8的predicate操作集合  

?@Test
????public?void?testPredicate()?{
????????Collection?collection?=?new?ArrayList<>();
????????//?添加0-49
????????for?(int?i?=?0;?i?<?50;?i++)?{
????????????collection.add(i);
????????}

????????//?移除10-49的數字
????????collection.removeIf(e?->?(e?>?9?&&?e?<?50));
????????System.out.println(collection);//?輸出[0,?1,?2,?3,?4,?5,?6,?7,?8,?9]
????}

基于流操作集合

java8之后引入了Stream相關流操作java集合,通過流大大簡化了對集合操作

@Test

????public?void?testIntStream()?{
????????Collection?collection?=?new?ArrayList<>();
????????Random?random?=?new?Random();

????????for?(int?i?=?0;?i?<?10;?i++)?{
????????????collection.add(random.nextInt(100));
????????}
????????System.out.println(collection);
????????//?collection存儲的數值是包裝類型,可以將其轉換為IntStream
????????IntStream?intStream?=?collection.stream().mapToInt(e?->?e);
????????//?intStream.forEach(System.out::println);
????????System.out.println(collection.stream().mapToInt(e?->?e).sum());
????????//?輸出最大值
????????collection.stream().mapToInt(e?->?e).max().ifPresent(System.out::println);
????????//?輸出最小值
????????collection.stream().mapToInt(e?->?e).min().ifPresent(System.out::println);
????????//?統計大于50的數
????????System.out.println(collection.stream().filter(e?->?e?>?50).count());
????????//?原集合每一個值加1
????????collection.stream().mapToInt(e->?e+1).forEach(System.out::println);
????????//?排序
????????collection.stream().mapToInt(e->?e).sorted().forEach(System.out::println);
????????//?原數值每一個元素擴大2倍
????????int[]?ints?=?collection.stream().mapToInt(e?->?e?<<?1).toArray();
????????//?輸出原數組
????????System.out.println(Arrays.toString(ints));
????????//?將數組轉流
????????IntStream?stream?=?Arrays.stream(ints);
????????//?輸出流平均數
????????System.out.println(stream.average().getAsDouble());
????}

以上就是動力節點java培訓機構的小編針對“Java中collection常用方法詳解”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 免费毛片看 | 99久久精品6在线播放 | 久久99国产精品久久 | 日韩欧美色综合 | 99尹人香蕉国产免费天天拍 | 91国内精品久久久久免费影院 | 一区毛片| 久久精品五月天 | 午夜一级成人 | 九九99线视频在线观看 | 欧美一级毛片片免费 | 一区二区三区日韩精品 | 亚洲乱淫 | 国产精品亚洲精品爽爽 | 亚洲成人在线免费 | 亚洲精品动漫3d一区二区 | 国产亚洲精品久久综合影院 | 天色噜噜噜噜 | 色婷婷精品 | 97在线播放 | 欧美一级毛片香蕉网 | 91精品成人福利在线播放 | 亚洲国产欧美精品一区二区三区 | 色综合久久综合欧美综合网 | 337p欧美超大胆日本人术艺术 | 真实国产乱子伦精品免费 | 久久精品国产无限资源 | 99国产情在线视频 | 老头与老头同性tube可播放 | 免费人成在线观看网站品爱网 | 日韩精品午夜视频一区二区三区 | 久久综合免费 | 青青青在线视频人视频在线 | 国内精品91久久久久 | 亚洲欧美综合人成野草 | 四虎影视在线永久免费看黄 | 久草在线国产视频 | 一区在线播放 | 日韩亚洲一区中文字幕在线 | 欧美大黄大色一级毛片出红 | 天天色天天干天天 |