排序

没有实现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接口

posted @ 2012-08-01 22:03  乌托邦.  阅读(124)  评论(0编辑  收藏  举报