Java容器类
ArrayList会比Vector快,他是非同步的,如果设计涉及到多线程,还是用Vector比较好一些
Array可以存放Object和基本数据类型,但创建时必须指定数组的大小,并不能再改变
没有实现Comparable接口的类数组如果要求实现Arrays.sort()排序功能,可以利用匿名内部类Comparator()来实现排序,例如:
Arrays.sort(tt,new Comparator<test>() {
@Override
public int compare(test arg0, test arg1) {
// TODO Auto-generated method stub
if (arg0.index > arg1.index) {
return 1;
} else if (arg0.index < arg1.index) {
return -1;
}
return 0;
}
});
Java里面的HashSet并不提供排序的功能,而TreeSet则类似于C++里面的set,此外Java里面的容器都是保存的对象的引用而不是C++容器保存的是对象的拷贝,因此对于内存空间容量是否足够的处理要简单的多而不像C++经常需要手动扩增容量那么麻烦。JAVA这些方便的特性离不开他所有的类都是Object类的子类的特殊性。
ArrayList<>,和Vector<>提供了泛型,其中Arraylist<>的迭代器也可以定义为泛型ListIterator<Integer> itt=all.listIterator();
这么做,个人认为作用不大,如上所述,所有的引用均用一个Object对象来保存引用的指针,没必要指明容器元素的类型。