Java 2简化集合框架图
set集合众的对象唯一性的判断:
class ClientVO{
private int id;
private String name;
public ClientVO(int id, String name) {
super();
this.id = id;
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public boolean equals(Object obj) {
if (obj instanceof ClientVO) {
ClientVO vo = (ClientVO) obj;
if(this.getName()!=null && this.getName().equals(vo.getName())){
return true;
}
}
return false;
}
@Override
public int hashCode() {
return 32*id+id;
}
}
private static void testHashSet(){
HashSet set=new HashSet();
set.add(new ClientVO(111,"ChoeLea"));// add item 1
set.add(new ClientVO(111,"Joe")); // add item2 which has the same hashcode with item1
set.add(new ClientVO(123,"Joe")); // item 3
System.out.println(set.size()); //Result:3
set.add(new ClientVO(111,"Joe"));// item 4
System.out.println(set.size());//Result:3 so the items 4 can not be added into the set
System.out.println(set.contains(new ClientVO(11,"Joe")));//Result: false;
System.out.println(set.contains(new ClientVO(111,"Joe11")));//Result: false;
System.out.println(set.contains(new ClientVO(111,"Joe")));//Result: true;
}
HashSet 从hash这个关键字可以看出是无序的。 HashSet通过equals && hashCode 方法来判断是否重复。contain的判断也是同样的规则。HashSet是非线程安全。
LinkedHashSet 继承自HashSet,因此在判断是否重复上有同样的规则。
TreeSet是实现set接口有序的集合,所以所有加入TreeSet的对象需要实现Comparable 接口,否则将抛出异常: java.lang.ClassCastException
- 大小: 5.9 KB
分享到:
相关推荐
Collection Framework 学习笔记.pdf Collection Framework 学习笔记.pdf
本书介绍了collect的前世今生,是初学者的一本较好的教程。
Java6 Collection Framework 新特性概览.pdf Java6 Collection Framework 新特性概览.pdf
Java Collection Framework – Java Lecture 23
前几天学习了collection的文档,里面主要是collection的基础知识,大神们自动忽略吧
通过一段时间的学习,涵盖了集合的主要内容,在学习中记录下典型的例子,以供以后参考
Data Structures and the Java Collections Framework, 3rd Edition
java.util包中定义了各种用于集合操作的类和接口,这些类和接口构成了Java语言的集合框架(Collection Framework)。 Java集合中可以放对象,不能存放基础数据类型数。 Collection Framework 根据不同类型的集合的特点...
Collection学习笔记Collection集合概述Collection集合常用方法Collection集合的遍历(迭代器)集合的使用样例 Collection集合概述 是单例集合的顶层接口 它提供了更具体的子接口的实现,如set和list. Collection集合...
HDT-6 使用Java Collection Framework的第6号工作表
Entity Framework 6 Recipes provides an exhaustive collection of ready-to-use code solutions for Entity Framework, Microsoft's model-centric, data-access platform for the .NET Framework and ASP.NET ...
day02【Collection、泛型】-笔记.md
JavaEE在线课程 单元01-收藏框架 JavaEE在线课程->单元01-Collections ... 这些类代表在Dimik Computing进行的在线课程中演示的Java Collection Framework的用法。 随意分叉并自己尝试。 @作者Sharif Ahmed( )
该项目为C++提供了一个综合的集合框架。 虽然 STL 通常是一个不错的选择,但此集合框架允许您泛指容器,以便可以轻松更改容器的类型。
mybatis 多层级collection嵌套
Java集合可以分为Collection和Map两种体系: Collection接口: List:元素有序,可重复的集合 ArrayList: 底层数组实现,有利于随机访问get LinkedList:底层是链表,有利于频繁的插入、删除操作(ArrayList删除和...
该文档描述了一种新的采集机床能量的方法,基于这种采集方法可以实现对机床能量的实时分析
Denise Milani Video Collection
集合框架包含collection和map的子类。其中collection包含list、set和queue。map包括hashmap、hashtable和treemap