java第9天代码(集合类)
/**********Customer .java begin***********/
import java.util.HashSet;
import java.util.Set;
/**
* 如果两个Customer对象nama属性和age属性相同,那么这两个Customer对象相等。
* @author Administrator
*
*/
public class Customer {
private String name;
private int age;
public String getName() {
return name;
}
public int getAge() {
return age;
}
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
this.age = age;
}
public Customer(String name, int age) {
super();
this.name = name;
this.age = age;
}
public Customer(){}
/**
* 如果Customer类覆盖了Object类中的equals方法,但没有覆盖Object中的HashCode方法,
* 就会导致当Customer1.equals.(Customer2)为true时,而Customer1和Customer2的哈
* 希码不一定一样,就会使HashSet无法工作。
*/
@Override
public boolean equals(Object obj) {
if((obj instanceof Customer)){
Customer other=(Customer) obj;
if(this.name.equals(other.getName()) && this.age==other.getAge()) {
return true;
}
}
return false;
}
/**
* 为了保证HashSet的正常工作,如果Customer类覆盖了equals方法,同时也应该去覆盖hashCode
* 方法,并且保证两个相等对象的哈希码也是一样。
*/
// @Override
public int hashCode() {
int result;
result=(name==null?0:name.hashCode());
result=result+age;
return result;
}
public static void main(String args[]){
Set set=new HashSet();
&nb
相关文档:
转贴..............
Java基础方面:
0、作用域public,private,protected,以及不写时的区别
答:区别如下:
作用域 当前类 同一package 子孙类 其他package
public √ √ √ √
protected √ √ √ ×
friendly √ √ × ×
private √ &t ......
关于Java中各种修饰符与访问修饰符的说明
类:
访问修饰符 修饰符 class 类名称 extends 父类名称 implement 接口名称
(访问修饰符与修饰符的位置可以互换)
访问修饰符
名称
说明
备注
public
可以被所有类访问(使用)
public类必须定义在和类名相同的同名文件中
package
可以被同一个包中的类访问 ......
昨天,我的朋友请教我正则表达式。我也好久没有写过正则表达式了,昨天刚好看了下如鹏网创始人杨中科老师关于正则表达式的讲解。使我加深了正则表达式的印像。现我把他总结下:
许多语言,包括Perl、PHP、Python、JavaScript和JScript,都支持用正则 ......
1、set集合是最简单的一种集合,集合中不按指定的方式排序,并且没有重复对象。
2、set接口主要有两个实现类:HashSet和TreeSet
(1)HashSet:是按照哈希算法来进行存取集合中的对象,存取的速度比较快。
(2)TreeSet:实现了SortedSet接口,具有排序的功能。
3、HashSet类是按照哈希算法来存取 ......