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());
}
}
}



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