设为首页 加入收藏

TOP

Collection子接口(List/Set/Queue/SortedSet)
2015-07-24 05:32:37 来源: 作者: 【 】 浏览:7
Tags:Collection 接口 List/Set/Queue/SortedSet

Collection主要的子接口:

List:可以存放重复内容Set:不能存放重复内容,所有重复的内容靠hashCode()和equals()两个方法区分Queue:队列接口SortedSet:可以对集合中的数据进行排序


List接口:

总结了List接口的扩展方法,即包含有增删改查方法.
\


List接口常用的子类:

ArrayList:可以直接通过对象的多态性为List接口实例化. Vector:算是元老级的类,使用差别不大 LinkedList:表示链表的操作类,同时实现List接口和Queue接口
\
\

Set接口:

Set接口常用的子类:

HashSet:不能存放重复元素,而且采用散列的存储方式,所以没有顺序 TreeSet:不能存放重复元素,但对输入的数据进行有序排列(实现了SZ??http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcnRlZFNldL3Tv9opCjxicj4KCjxicj4KCta4tqjFxdDyOgo8cHJlIGNsYXNzPQ=="brush:java;">class Person implements Comparable { private String name ; private int age ; public Person(String name,int age){ this.name = name ; this.age = age ; } public String toString(){ return "姓名:" + this.name + ";年龄:" + this.age ; } public int compareTo(Person per){ if(this.age>per.age){ return 1 ; }else if(this.age allSet = new TreeSet () ; allSet.add(new Person("张三",30)) ; allSet.add(new Person("李四",31)) ; allSet.add(new Person("王五",32)) ; allSet.add(new Person("王五",32)) ; allSet.add(new Person("王五",32)) ; allSet.add(new Person("赵六",33)) ; allSet.add(new Person("孙七",33)) ; System.out.println(allSet) ; } }; 运行结果: [姓名:张三;年龄:30, 姓名:李四;年龄:31, 姓名:王五;年龄:32, 姓名:孙七;年龄:33, 姓名:赵六;年龄:33]


去重复元素:
class Person{
	private String name ;
	private int age ;
	public Person(String name,int age){
		this.name = name ;
		this.age = age ;
	}
	public boolean equals(Object obj){	// 覆写equals,完成对象比较
		if(this==obj){
			return true ;
		}
		if(!(obj instanceof Person)){
			return false ;
		}
		Person p = (Person)obj ;	// 向下转型
		if(this.name.equals(p.name)&&this.age==p.age){
			return true ;
		}else{
			return false ;
		}
	}
	public int hashCode(){
		return this.name.hashCode() * this.age	; // 定义一个公式
	}
	public String toString(){
		return "姓名:" + this.name + ";年龄:" + this.age ;
	}
};
public class RepeatDemo{
	public static void main(String args[]){
		Set
     
       allSet = new HashSet
      
       () ; allSet.add(new Person("张三",30)) ; allSet.add(new Person("李四",31)) ; allSet.add(new Person("王五",32)) ; allSet.add(new Person("王五",32)) ; allSet.add(new Person("王五",32)) ; allSet.add(new Person("赵六",33)) ; allSet.add(new Person("孙七",33)) ; System.out.println(allSet) ; } };
      
     
运行结果: [姓名:李四;年龄:31, 姓名:张三;年龄:30, 姓名:孙七;年龄:33, 姓名:王五;年龄:32, 姓名:赵六;年龄:33]

Queue接口:

队列操作接口 \

SortedSet接口:


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C++编译与链接(2)-浅谈内部链接.. 下一篇LeetCode――Triangle

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: