java Set集合

》》SEt集合爲集合類型,集是最簡單的一中集合,存放於擊中的對象不安特定的方式排序,知識簡單的吧對象加入幾個集合中,類似於向口袋裏放東西,對集中存放的對象的訪問和造作是通過對象的引用進行的,所以在擊中不能存放重複對象mSet集合包括Set接口以及Set接口的所有實現類,因爲Set接口實現了coolection接口,所以Set接口擁有coolection接口提供的所有常用方法

》》hashSet類

由hashSet類實現的Set集合的是能夠快速定位集合中的元素,

由hashSet類實現Set 集合中的對象必須是唯一的,所以需要添加到由hashSet類類實現的Set集合中的對象們需要重新實現rquals()方法,從而保證插入集合中的對象的標識的唯一性。



排序不同






package Set集合;


public class Person implements Comparable {
private String name ;
private long id_card;
public Person(String name,long id_card){
this.id_card= id_card;
this.name = name;
}
public long getId_card(){
return id_card;
}
public void setId_card(long id_card){
this.id_card= id_card;
}
public String getName(){
return name ;
}
public void setName(String name ){
this.name = name;
}
public int compereTo(Object o){//默認按表號升序排序
Person person = (Person) o ;//
int result = id_card > person.id_card ? 1
:(id_card == person.id_card ? 0:-1);
return result;
}

}





package Set集合;


import java.util.Iterator;
import java.util.TreeSet;


public class Example {


public static void main(String[] args) {
Person  person1 = new Person("馬先生",22200);
Person  person2 = new Person("李先生",22201);
Person  person3 = new Person("王先生",22018);
Person  person4 = new Person("伊先生",22014);
Person  person5 = new Person("王先生",22017);
TreeSet<Person>treeSet = new TreeSet<Person>();
treeSet.add(person1);
treeSet.add(person2);
treeSet.add(person3);
treeSet.add(person4);
treeSet.add(person5);
System.out.println("初始化的集合");
Iterator<Person> it = treeSet.iterator();
while(it.hasNext()){//遍歷集合
Person person = it.next();
System.out.println("-----"+person.getId_card()+" "
+ person.getName());
}
System.out.println("截取前面部分得到的集合");
it = treeSet.headSet(person1).iterator();//截取在集合中排在馬先生(不包括)之前的人
while(it.hasNext()){
Person person = it.next();
System.out.println("-----"+person.getId_card()+" "
+ person.getName());
}

System.out.println("截取中間部分得到的集合");
//截取集合中排在馬先生和王小姐之間的人
it = treeSet.subSet(person1, person3).iterator();
while(it.hasNext()){
Person person = it.next();
System.out.println("-----"+person.getId_card()+" "
+ person.getName());
}


System.out.println("排序在後面的對象集合");
//截取集合中排在馬先生後面的人集合
it = treeSet.tailSet(person1).iterator();
while (it.hasNext()){
Person person = it.next();
System.out.println("-----"+person.getId_card()+" "
+ person.getName());
}
}
}



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章