Java的集合Set和Map的簡單精闢講解

2021-08-22 19:14:10 字數 2658 閱讀 6063

**解釋:**儲存的資料是無序的,不可以重複。

分類:

hashset:

class person1 

public person1(string name, int age)

@override

public string tostring()

//重寫hashcode方法

@override

public int hashcode()

@override

public boolean equals(object obj)

person1 person = (person1) obj;

return person.age == this.age && person.name.equals(this.name);

} }

public class demo7 

}

* 分析**(重點)**:要重寫person1的hashcode和equals方法,按照自己定義的規則來重寫,比較規則是按照年齡和性別比較。先是用hashcode方法來比較年齡,來確定它是不是同乙個年齡,如果年齡相同了,那麼則判定他們的姓名,相同則是同乙個物件,否則,就不是同乙個物件。
treeset:

public class demo8 	}	

class person2 implements comparable

@override

public string tostring()

//重寫compareto方法

//按照姓名和年齡比較,只要姓名和年齡相同就認為是乙個人

@override

public int compareto(object o)

//向下轉型

person2 person2 = (person2)o;

//先按照年齡比,年齡相同再按照姓名比

int num = age - person2.age;

return num==0?name.compareto(person2.name):num;

} }

分析 (重點):能夠實現排序的原因是方法中呼叫了字串的 compareto方法,compareto方法是來自於comparable介面。有時候我們需要按照自己定義的規則去實現treeset的排序規則的話,就得實現comparator介面,並且重寫compare方法,也就是重新定義乙個比較器。

比較器的使用

public class demo9 

}

**解釋:**本身是乙個介面,儲存的是鍵值對,乙個元素就是乙個鍵(key)值(value)對,key必須是唯一。的.value可以相同

分類:

map介面的一些方法(用**來看):

public class demo8 

}

map的遍歷:

public class demo9 

}}

public class demo9 

system.out.println(map);

}}

hashmap:

class animal

@override

public string tostring()

//重寫hashcode

@override

public int hashcode()

//重寫equals

@override

public boolean equals(object obj)

animal animal = (animal)obj;

return age==animal.age && name.equals(animal.name);

}}

public class demo10 

}

treemap:

class animal1 implements comparable

@override

public string tostring()

//重寫compareto方法

@override

public int compareto(animal1 o)

} public class demo11

}

class mycompera implements comparator

} class now2

public now2(string name, int age)

}

public class three 

}

Set集合和Map集合

用於存放不重複的資料,通過建構函式的形式 引數必須是乙個可迭代物件 建立set物件 set集合方法add 新增乙個資料 has 判斷資料是否存在,存在返回true delete 刪除資料,刪除成功返回true clear 清空集合 size,這個是屬性,返回的是集合長度,只能讀不能改 const s...

map集合和set集合

map是一種通過 鍵值 key value 對對映表的資料結構。通過key可以實現快速查詢元素。put key,value 新增 get key 查詢 遍歷map 用for each來迴圈遍歷map例項的 keyset 返回的set集合。同時遍歷key和value可以使用for each迴圈遍歷ma...

Set和Map資料集合

一 set集合 set集合是一種無重複元素的列表,使用new set 方法建立set集合。數值 字串 物件 陣列等都可以作為元素新增進set集合,如果重複新增元素,元素會摺疊,數值 1 和字串 1 不會衝突。注 2和 2 是兩個元素,不會進行隱式轉換 console.log set.has 2 tr...