亚洲精品中文免费|亚洲日韩中文字幕制服|久久精品亚洲免费|一本之道久久免费

      
      

            <dl id="hur0q"><div id="hur0q"></div></dl>

                java中set集合的使用方法

                1.HashSet javascript

                java.util.HashSet類實(shí)現(xiàn)了Java.util.Set接口。java

                它有以下特色:spa

                1.它不容許出現(xiàn)重復(fù)元素;2.不保證集合中元素的順序3.容許包含值為null的元素,但最多只能有一個(gè)null元素。code

                下面代碼是利用hashSet獲取不重復(fù)的一組groupId:xml

                public static List getGroups(List resourceList) {Set set = new HashSet();for (Resource resource : resourceList) {if (StringUtils.isNotBlank(resource.groupIds)) {for (String groupId : StringUtils.split(resource.groupIds, “,”)) {if (StringUtils.isNotBlank(groupId)) {set.add(Long.parseLong(groupId));}}}}return new ArrayList(set);}

                2.TreeSet

                TreeSet是能夠?qū)崿F(xiàn)排序等功能的集合,它在對(duì)象元素添加到集合中時(shí)會(huì)自動(dòng)按照某種比較規(guī)則將其插入到有序的對(duì)象序列中;對(duì)象

                TreeSet是如何對(duì)對(duì)象進(jìn)行排序的捏?TreeSet支持 兩種排序方式:天然排序和客戶化排序,默認(rèn)狀況下是天然排序.在JDK中,有一部分類實(shí)現(xiàn)了Comparable接口,如Integer,Double和String等,Comparable接口有一個(gè)compareTo(Object o)方法,它返回整數(shù)類型,對(duì)于表達(dá)式x.compareTo(y),若是返回值為0,表示x和y相等,若是返回值大于0,表示x大于y,若是小于0,表示x TreeSet調(diào)用對(duì)象的compareTo()方法比較集合中對(duì)象的大小,而后進(jìn)行升序排序,這種方式稱為天然排序.客戶化排序:java.util.Comparator接口用于指定具體的排序方式,它有個(gè)compare(Object obj1,Object obj2),用于比較兩個(gè)對(duì)象的大小.當(dāng)表達(dá)式compare(x,y)的值大于0,表示x大于y,小于0,表示x小于y,等于0,表示x等于y,若是想讓TreeSet進(jìn)按照Customer對(duì)象的name屬性進(jìn)行降序排列,能夠先建立實(shí)現(xiàn)Comparator接口的類CustomerComparator,如:import java.util.*;public class CustomerComparator implements Comparator{public int compare(Object o1,Object o2){Customer c1=(Custoemr)o1;Customer c2=(Customer)o2;if(c1.getName().compareTo(c2.getName())>0) return -1;if(c1.getName().compareTo(c2.getName())<0) return 1;return 0;} }接下來(lái)在構(gòu)造TreeSet的實(shí)例時(shí),調(diào)用它的TreeSet(Comparator comparator)構(gòu)造方法Set set=new TreeSet(new CustomerComparator());Customer c1=new Customer("TOM",15);Customer c2=new Customer("JACK",20);Customer c3=new Customer("MIKE",38);set.add(c1);set.add(c2);set.add(c3);Iterator it=set.iterator();while(it.hasNext()) {Custoemr customer=(Customer)it.next();System.out.println(customer.getName()+"" +customer.getAge();)}當(dāng)TreeSet向集合中加入Customer對(duì)象時(shí),會(huì)調(diào)用CustomerComparator類的compare()方法進(jìn)行排序,以上Tree按照Custoemr對(duì)象的name屬性進(jìn)行降序排列,最后輸出為:TOM 15 MIKE 38 JACK 16

                鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場(chǎng),版權(quán)歸原作者所有,如有侵權(quán)請(qǐng)聯(lián)系管理員(admin#wlmqw.com)刪除。
                用戶投稿
                上一篇 2022年6月14日 12:28
                下一篇 2022年6月14日 12:28

                相關(guān)推薦

                聯(lián)系我們

                聯(lián)系郵箱:admin#wlmqw.com
                工作時(shí)間:周一至周五,10:30-18:30,節(jié)假日休息