lesson 5

来源:互联网 发布:搜索引擎优化seo 编辑:程序博客网 时间:2024/05/13 13:47

Eclipse 

  • Collection:集合层次中的根接口,JDK没有提供这个接口直接的实现类。
  • Set:不能包含重复的元素。SortedSet是一个按照升序排列元素的Set
  • List:是一个有序的集合,可以包含重复的元素。提供了按索引访问的方式。
  • Map:包含了key-value对。Map不能包含重复的keySortedMap是一个按照升序排列keyMap








List 接口
     list中可以添加相同的对象,比如可以将Student类型的ss添加两边
使用list类一共有三种方法
1.Object[] aa=list.toArray();
2.list.get()  返回值是Object类型的所以在这里要类型转换
3.Iteraor迭代器
Irerator ite=list.iterator();
while(ite.hasNext())
{Object oo=ite.next();}

Set接口

     Set接口中不可以放置相同的对象
     在向Set添加对象的时候有两步验证
     1.验证对象是否相等,这步就将list中的那种情况给排除了.
     2.通过hashcode()--函数的名字都是同伙哈希编码来存储的,通过hashcode就可以得到函数的名字,也就可以看出是否有相同的函数--和equals()两个函数,如果你不重写的话,仅仅是验证了名字和对象
HashSetTreeSetSet的实现

 
(
返回 set 的哈希码值。一个 set 的哈希码定义为此 set 中所有元素的哈希码和,其中 null 元素的哈希码定义为零。这就确保对于任意两个 set s1  s2 而言,s1.equals(s2) 就意味着 s1.hashCode()==s2.hashCode(),正如 Object.hashCode的常规协定所要求的那样。
)
               我们可以通过重写来完成你所希望的内容
public boolean equals(Object obj)
{
     Student ss=(Student )obj;
     boolean flag=false;
     if(this.id==ss.id) flag=true;
     return flag;
}
public int hashcode(){
     return this.id;
}
这样set就不准许加入id相同的对象了

 

 

 



对于set 和list的排序

 

类名  构造方法  排序      Set  new HashSet()   TreeSet()  TreeSet      List  new List()  Collections.Sort(list);    


 

 
List
1.在要排序的类中实现Comparable接
原创粉丝点击