java 基础05Java API
Collection是所有单列集合的父接口
添加功能(掌握)
boolean add(Object obj):boolean addAll(Collection c):删除功能(掌握)
void clear():boolean remove(Object obj):boolean removeAll(Collection c):判断功能(掌握)
boolean isEmpty():boolean contains(Object obj):boolean containsAll(Collection c):遍历功能(掌握)
Iterator iterator():长度功能(掌握)
int size():交集功能
boolean retainAll(Collection c):转换功能
Object[] toArray():添加功能
void add(int index,Object obj):删除功能
Object remove(int index):修改功能
Object set(int index,Object obj):获取功能
Object get(int index):int indexOf(Object obj):ListIterator listIterator():equals方法重写步骤
public boolean equals(Object obj){ //提高效率 //提高健壮性 //内容比较,严谨点的话对引用类型也做非null判断}@Overridepublic boolean equals(Object obj) { System.out.PRintln(this + "----------" + obj); //提供性能 if(obj == this){ return true; } //提供健壮性 if(!(obj instanceof Student)){ return false; } Student s = (Student)obj; if(s.name != null){ if(this.name.equals(s.name)){ if(this.age == s.age){ return true; } } } return false;}hashCode方法重写步骤
public int hashCode(){ return 所有的成员变量之和; //引用类型使用其hashCode值,基本数据类型直接相加即可//为了提高效率,使用基本数据类型随意乘上1个数,//这样的话完全不一样的对象重复的几率较低,不用比较equals方法,性能略高}@Overridepublic int hashCode() { // TODO Auto-generated method stub return this.name.hashCode() + this.age * 13;}作为参数传递或者参数使用匿名内部类
@Overridepublic int compareTo(Person o) { // TODO Auto-generated method stub //按照姓名的长度进行排序 int num = this.name.length() - o.name.length(); //按照年龄进行排序 num = (num == 0) ? this.age - o.age : num; //按照姓名的字典顺序 num = (num == 0) ? this.name.compareTo(o.name) : num; return num;}public class MyComparator implements Comparator<Student> {@Overridepublic int compare(Student o1, Student o2) { // TODO Auto-generated method stub //按照姓名的长度进行排序 int num = o1.getName().length() - o2.getName().length(); //按照年龄进行排序 num = (num == 0) ? o1.getAge() - o2.getAge() : num; //按照姓名的字典顺序 num = (num == 0) ? o1.getName().compareTo(o2.getName()) : num; return num; }}//创建比较器对象//MyComparator mc = new MyComparator();//创建集合对象//new 接口(){};相当于创建了一个实现这个接口的子类对象//new 类(){};相当于创建了一个继承了这个类的子类对象TreeSet<Student> ts = new TreeSet<Student>( new Comparator<Student>() { @Override public int compare(Student o1, Student o2) { //只按照年龄进行排序 return o1.getAge() - o2.getAge(); } });Java 基础07IO
新闻热点
疑难解答