排序
没有实现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对象来保存引用的指针,没必要指明容器元素的类型
对于Set、Map容器这类关联容器类型,由于要实现排序功能。需要在自定义类里面实现 Comparator接口