标签:
集合
package cn.hncu.collection;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import java.util.Iterator;
public class CollectionDemo {
public static void main(String[] args) {
Collection<Object> col=new ArrayList<Object> ();
//此处使用ArrayList()来做的话添加是什么顺序那么他存储就是什么顺序
// Collection col=new HashSet();
//此处使用HashSet()来做的话则存储方式是按照其hash值来的,位置不定,
//但是总体排序还是:数字之间按照大小顺序排,字符串也按照字符的编码排;对象也同样适用
//增
col.add(1);
col.add(2);
col.add(6);
col.add("Jack");
col.add("Tom");
//※注意,如果实现类是hashSet,那么所加入元素的存储位置是由各元素的hashCode值来定的
//此时,当Perosn类不覆盖hashCode时,person对象的位置是不定,因此这样它的hashCode是对象的内存地址。
//综上,想当对象的位置确定,则需要覆盖hashCode()方式
//如果元素是类对象,那么它的hash值就是hashCode()方法的返回值,
//因此如果你写的hashCode()方法返回相同的值,则认为是相同的元素,加不进的
col.add(new Person("John", 21));
col.add(new Person("Jane", 19));
//删
// col.remove(2);
// col.add("aa");
//改1
// col.remove(1);col.add(1);
//改2
//这种修改方式,假如使用的是HashSet的话不管怎么改还会是按照hashcode值进行排序存储,
//而如果使用的是ArrayList的话需要修改的元素原来在什么地方修改后还会是在什么地方;
//对于上面的改1同样适用次原理
Object objs[]=col.toArray();
col.clear();
for (int i=0;i<objs.length;i++){
if (objs[i].equals(1)){
objs[i]="100";
}
col.add(objs[i]);
}
Iterator<Object> it=col.iterator();
while (it.hasNext()){
Object obj=it.next();
System.out.println(obj);
}
}
}
| boolean | add(E e)将指定的元素添加到此列表的尾部。 |
| void | add(int index,E element)将指定的元素插入此列表中的指定位置。 |
E |
get(int index)返回此列表中指定位置上的元素。 |
| boolean | isEmpty()如果此列表中没有元素,则返回 true |
E |
remove(int index)移除此列表中指定位置上的元素。 |
E |
set(int index,E element)用指定的元素替代此列表中指定位置上的元素。 |
| int | size()返回此列表中的元素数。 |
| void | addFirst(E e)将指定元素插入此列表的开头。 |
| void | addLast(E e)将指定元素添加到此列表的结尾。 |
E |
getFirst()返回此列表的第一个元素。 |
E |
getLast()返回此列表的最后一个元素。 |
E |
removeFirst()移除并返回此列表的第一个元素。 |
E |
removeLast()移除并返回此列表的最后一个元素。 |
package cn.hncu.sort3;
import java.util.Comparator;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
import java.util.Map.Entry;
import java.text.CollationKey;
import java.text.Collator;
import java.util.Comparator;
public class Sort3Demo {
public static void main(String[] args) {
Comparator<Object> comparator2=new MyCmp2();
TreeMap<Object, Object> map=new TreeMap<Object, Object>(comparator2);
map.put("周军", "1001");
map.put("张军", "1002");
map.put("李fg军", "1003434");
map.put("刘一军", "1004555");
Set entries=map.entrySet();
Iterator<Object> it=entries.iterator();
while (it.hasNext()){
Map.Entry entry=(Entry) it.next();
System.out.println("key="+entry.getKey()+",value="+entry.getValue());
}
}
}
class MyCmp2 implements Comparator{
@Override
public int compare(Object o1, Object o2) {
Collator collator=Collator.getInstance();
CollationKey key1=collator.getCollationKey(o1.toString());
CollationKey key2=collator.getCollationKey(o2.toString());
return key1.compareTo(key2);
// return key2.compareTo(key1);//反向
}
}
标签:
原文地址:http://blog.csdn.net/x121850182/article/details/51485814