集合框架Set

2021-09-23 08:13:12 字數 1722 閱讀 8257

1:hashset雜湊表儲存底層**

2:list與set判斷重複物件的區別

3:集合框架treeset:的自然排序、比較器排序

一般來說:set是無序的(無下標),但是jdk1.8版本已經可以排序

1:hashset雜湊表儲存底層**

set:會去除重複

資料結構是雜湊表

hashseths = new hashset<>();

hs.add("xiaohau");

hs.add("xiaocao");

hs.add("xiaohau");

hs.add("nanna");

3:list與set判斷重複物件的區別
//set對於的於list的不同  他去重複是依照位址

//list是利用contains和 equals 對比判斷去重複

hs.add("xiaohau");

hs.add("xiaocao");

hs.add("xiaohau");

hs.add("nanna");

//list去重複

arraylist singlelist= singlelist(list);

iterator it = list.iterator();

while(it.hasnext())

public static arraylist singlelist(arraylist list)

} return newal;

} @override //如果有重複則去除重複

public boolean equals(object obj)

return false;

}@override //重寫

public string tostring()

3:集合框架treeset:的自然排序、比較器排序

如何實現comparator(比較器)和comparable(自然排序介面)方法

comparable自然排序介面的用途?

使新增的元素自身具備排序規則,這種排序規則又被稱為自然排序

比較器 :comparator介面

作用:使容器具有比較性

comparable(自然排序介面)

treeset hs = new treeset<>(new comparat());

hs.add("xiaohau");

hs.add("xiaocao");

hs.add("xiaohau");

hs.add("nanna");

//如果增加的為物件(實體類) 不實現介面就會報錯

hs.add(new student("xiaohua","女",56));//根據路徑

hs.add(new student("xiaocao","男",54));

hs.add(new student("xiaohudai","男",23));

hs.add(new student("lvmaozi","男",12));

public int compareto(person o)

return num;

}

comparator(比較器介面)

class presoncomp implements comparator

return num;

}}

集合框架Set

元素是無序 存入和取出的順序不一定一致 元素不可以重複 hashset雜湊表儲存 底層資料結構是雜湊表 1.1hashset的元素不可重複 hashset元素是不可重複的,針對於基本資料型別以及string,引用資料型別 物件 去重需要重寫hashcode方法以及equals方法 論證 1.2has...

集合框架之 set集合

物件重複是指物件裡面的變數的值都相等,並不定是位址。list集合儲存的型別是基礎型別還比較好辦,直接把list集合轉換成set集合就會自動去除。當set集合儲存的是物件型別時,需要在物件的實體類裡面重寫public boolean equals object obj 和 public int has...

集合框架 List與Set

所有的集合框架並不存放真正的物件,而是持有物件的引用 list與set都繼承自collection list的實現類 arraylist,linklist,vector set的實現類 hashset,linkedhashset,sortset 介面 treeset 實現sortset 首先介紹一下...