电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Java基礎詳解之集合框架工具Collections

瀏覽:9日期:2022-08-13 17:01:54
一、Collections

說明:Collcetions是集合框架中的工具,特點是方法都是靜態的。

二、Collections中的常見方法

1,對list進行二分查找:前提該集合一定要有序。int binarySearch(list,key);//要求list集合中的元素都是Comparable的子類。int binarySearch(list,key,Comparator);2,對list集合進行排序。sort(list);sort(list,comaprator);3,對集合取最大值或者最小值。max(Collection)max(Collection,comparator)min(Collection)min(Collection,comparator)4,對list集合進行反轉。reverse(list);5,對比較方式進行強行逆轉。Comparator reverseOrder();Comparator reverseOrder(Comparator);6,對list集合中的元素進行位置的置換。swap(list,x,y);7,對list集合進行元素的替換。如果被替換的元素不存在,那么原集合不變。replaceAll(list,old,new);三、Aarrays:用于對數組操作的工具類

1,binarySearch(int[]) binarySearch(double[])...2,sort(int[]) sort(char[])....3,toString(int[]).....:將數組變成字符串。4,copyOf();復制數組。5,copyOfRange():復制部分數組。6,equals(int[],int[]);比較兩個數組是否相同。7,List asList(T[]);將數組變成集合。這樣可以通過集合的操作來操作數組中元素,但是不可以使用增刪方法,add,remove。因為數組長度是固定的,會出現UnsupportOperationExcetion。可以使用的方法:contains,indexOf。。。如果數組中存入的基本數據類型,那么asList會將數組實體作為集合中的元素。如果數組中的存入的應用數據類型,那么asList會將數組中的元素作為集合中的元素。如果想要將集合變數組:可以使用Collection中的toArray方法。傳入指定的類型數組即可,該數組的長度最好為集合的size。四、二分查找過程中的默認比較器

// 在二分查找中設定默認的比較器import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.List;public class binarySerach { public static void main(String[] args) {sortDemo(); } public static void sortDemo() {List<String> list = new ArrayList<String>(); // List集合沒有比較方法list.add('abcd');list.add('aaa');list.add('bbb');list.add('abcdcdc');list.add('z');list.add('zz');list.add('qq');sop('原集合為:'+list);int index = Collections.binarySearch(list,'bbb',new StrLenComparator2());sop('自定義比較器的index: '+index);int index2 = Collections.binarySearch(list,'abcd');sop('不傳入比較器index:'+index2); } public static void sop(Object obj) {System.out.println(obj); }}class StrLenComparator2 implements Comparator<String>{ public int compare(String s1, String s2) {if(s1.length() > s2.length()) return 1;if (s1.length() < s2.length()) return -1;return s1.compareTo(s2); }}五、集合轉化為數組

// 集合變數組// 為什么需要這樣做?為了對元素進行限定操作,不需要進行增刪。import java.lang.reflect.Array;import java.util.ArrayList;import java.util.Arrays;public class CollectionToArray { public static void main(String[] args) {ArrayList<String> al = new ArrayList<String>();al.add('ABC1');al.add('ABC2');al.add('ABC3');al.add('ABC4');al.add('ABC5');System.out.println(al);String[] arr = al.toArray(new String[al.size()]); // toArray 方法把集合轉換為數組System.out.println(Arrays.toString(arr));//打印內容 }}六、增強for循環

// 增強for循環的出現是為了解決總是使用迭代器方法進行元素提取import java.util.ArrayList;import java.util.HashMap;import java.util.Map;import java.util.Set;public class ForEachDemo { public static void main(String[] args) {// 例子一:ArrayList<String> al = new ArrayList<String>();al.add('ABC1');al.add('ABC2');al.add('ABC3');al.add('ABC4');for(String s : al){ System.out.println(s);}//System.out.println(al);// 例子二:HashMap的增強for循環,使用entrySet()System.out.println('例子二:HashMap的增強for循環,使用entrySet()');HashMap<Integer,String> hm = new HashMap<Integer, String>();hm.put(1,'Wzy1');hm.put(2,'Wzy2');hm.put(3,'Wzy3');hm.put(4,'Wzy4');for (Map.Entry<Integer,String> it : hm.entrySet()){ System.out.println('Key: '+it.getKey()+'--- Value:'+it.getValue());}// 例子三:HashMap的增強for循環,使用KeySet()System.out.println('例子三:HashMap的增強for循環,使用KeySet()');Set<Integer> keySet = hm.keySet();for(Integer i : keySet){ System.out.println('Key: '+i+'--- Value:'+hm.get(i));} }}七、關于可變參數的方法

一般的,在java中使用重載的方法應對不同的數據對象,讓它們都可以使用方法,但是還有一種寫法,可以只寫一個方法來接收數據,也不需要建立新的對象。

// 例子一:public class mutilMethod { public static void main(String[] args) {show(1,2,3,4,5); } public static void show(int...a) // 可變參數寫法,數組的特殊值放在開頭 {System.out.println(a.length); }}//例子二:數組有特殊的public class mutilMethod { public static void main(String[] args) {show('字符串',2,3,4,5); // 特殊字符String與int發生組合 } public static void show(String c, int...a) // 可變參數寫法,數組的特殊值放在開頭 {System.out.println(a.length); }}八、關于reverseOrder函數使用

(1)Collections提供的比較器作為新比較器(2)強行逆轉現有比較器

import java.util.*;public class reverseOrder { public static void main(String[] args) {sortDemo(); } public static void sortDemo() {TreeSet<String> ts = new TreeSet<String>(Collections.reverseOrder()); // 傳入reverseOrder()將集合倒序排列ts.add('aaa');// 或者手寫一個自定義比較器,之后使用reverseOrder()函數強行逆轉ts.add('abc');ts.add('a');ts.add('aa');ts.add('bbb');ts.add('cccc');ts.add('ddddd');ts.add('eeeeee');Iterator it = ts.iterator();while (it.hasNext()){ sop(it.next());} } public static void sop(Object obj) {System.out.println(obj); }九、靜態類導入

import java.util.*;import static java.util.Arrays.*;import static java.lang.System.*;public class StaticImport extends Object { public static void main(String[] args) {int[] arr = {3,1,5};sort(arr); // 去掉了Arrays.int index = binarySearch(arr,1);// 去掉了Arrays.System.out.println(Arrays.toString(arr)); // 不能去掉Arrays.out.println('index = '+index);// 去掉System. }}

到此這篇關于Java基礎詳解之集合框架工具Collections的文章就介紹到這了,更多相關java集合框架工具Collections內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Java
相關文章:
主站蜘蛛池模板: 精密交叉滚子轴承厂家,转盘轴承,YRT转台轴承-洛阳千协轴承 | 净化工程_无尘车间_无尘车间装修-广州科凌净化工程有限公司 | 工业rfid读写器_RFID工业读写器_工业rfid设备厂商-ANDEAWELL | 珠海网站建设_响应网站建设_珠海建站公司_珠海网站设计与制作_珠海网讯互联 | 深圳市源和塑胶电子有限公司-首页 | 活性炭-果壳木质煤质柱状粉状蜂窝活性炭厂家价格多少钱 | 知网论文检测系统入口_论文查重免费查重_中国知网论文查询_学术不端检测系统 | 袋式过滤器,自清洗过滤器,保安过滤器,篮式过滤器,气体过滤器,全自动过滤器,反冲洗过滤器,管道过滤器,无锡驰业环保科技有限公司 | 定制防伪标签_防伪标签印刷_防伪标签厂家-510品保防伪网 | 郑州爱婴幼师学校_专业幼师培训_托育师培训_幼儿教育培训学校 | 山东风淋室_201/304不锈钢风淋室净化设备厂家-盛之源风淋室厂家 翻斗式矿车|固定式矿车|曲轨侧卸式矿车|梭式矿车|矿车配件-山东卓力矿车生产厂家 | 细砂提取机,隔膜板框泥浆污泥压滤机,螺旋洗砂机设备,轮式洗砂机械,机制砂,圆锥颚式反击式破碎机,振动筛,滚筒筛,喂料机- 上海重睿环保设备有限公司 | 流量卡中心-流量卡套餐查询系统_移动电信联通流量卡套餐大全 | 发电机价格|发电机组价格|柴油发电机价格|柴油发电机组价格网 | 中山东港家具集团-酒店-办公-医养家具定制厂家 | 山东PE给水管厂家,山东双壁波纹管,山东钢带增强波纹管,山东PE穿线管,山东PE农田灌溉管,山东MPP电力保护套管-山东德诺塑业有限公司 | 深圳宣传片制作_产品视频制作_深圳3D动画制作公司_深圳短视频拍摄-深圳市西典映画传媒有限公司 | 经济师考试_2025中级经济师报名时间_报名入口_考试时间_华课网校经济师培训网站 | 东莞精密模具加工,精密连接器模具零件,自動機零件,冶工具加工-益久精密 | 自清洗过滤器_全自动过滤器_全自动反冲洗过滤器_量子过滤器-滑漮滴 | 天津试验仪器-电液伺服万能材料试验机,恒温恒湿标准养护箱,水泥恒应力压力试验机-天津鑫高伟业科技有限公司 | 钣金加工厂家-钣金加工-佛山钣金厂-月汇好 | 安德建奇火花机-阿奇夏米尔慢走丝|高维|发那科-北京杰森柏汇 | 上海心叶港澳台联考一对一培训_上海心叶港澳台联考,港澳台联考一对一升学指导 | 打孔器,打孔钳厂家【温州新星德牌五金工具】| 二手电脑回收_二手打印机回收_二手复印机回_硒鼓墨盒回收-广州益美二手电脑回收公司 | 三防漆–水性三防漆–水性浸渍漆–贝塔三防漆厂家 | 硅胶制品-硅橡胶制品-东莞硅胶制品厂家-广东帝博科技有限公司 | 上海冠顶工业设备有限公司-隧道炉,烘箱,UV固化机,涂装设备,高温炉,工业机器人生产厂家 | 陶瓷砂磨机,盘式砂磨机,棒销式砂磨机-无锡市少宏粉体科技有限公司 | 天助网 - 中小企业全网推广平台_生态整合营销知名服务商_天助网采购优选 | TPM咨询,精益生产管理,5S,6S现场管理培训_华谋咨询公司 | 北京易通慧公司从事北京网站优化,北京网络推广、网站建设一站式服务商-北京网站优化公司 | 搅拌磨|搅拌球磨机|循环磨|循环球磨机-无锡市少宏粉体科技有限公司 | 衬四氟_衬氟储罐_四氟储罐-无锡市氟瑞特防腐科技有限公司 | 地埋式垃圾站厂家【佳星环保】小区压缩垃圾中转站转运站 | 彩超机-黑白B超机-便携兽用B超机-多普勒彩超机价格「大为彩超」厂家 | 扬子叉车厂家_升降平台_电动搬运车|堆高车-扬子仓储叉车官网 | 北京模型公司-工业模型-地产模型-施工模型-北京渝峰时代沙盘模型制作公司 | 马尔表面粗糙度仪-MAHR-T500Hommel-Mitutoyo粗糙度仪-笃挚仪器 | 辊道窑炉,辊道窑炉厂家-山东艾希尔|