用ArrayList添加"b" "c" "a" "d" "f"  "e" .对ArrayList排序然后用Iterator遍例打印输出.  我怎么排好序一遍例排序就没了.谁能给写个详细的例子啊?

解决方案 »

  1.   

    不知道你说什么,如果对ArrayList直接排序的话得把对象备份出来,删除再添加的方式更换顺序,使用冒泡排序啊快速排序啊的都行啊
      

  2.   

    如果我想用Arrays.sort(); 排序.
      

  3.   

    是啊我用sort()方法排好序了 然后如何用Iterator遍例输出啊.遍例过排序就没了sort()好象没有返回值把?
      

  4.   

    写了一个 不过感觉有点饶圈.有谁能给写个效率高点的??我写的:
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.Iterator;public class Test { public static void main(String[] args) { ArrayList<String> a = new ArrayList<String>();
    ArrayList<String> b = new ArrayList<String>();
    a.add(new String("b"));
    a.add(new String("c"));
    a.add(new String("a"));
    a.add(new String("d")); String[] aa = new String[a.size()];
    a.toArray(aa);
    Arrays.sort(aa);
    for (String ee : aa) {
    b.add(ee);
    }
    Iterator it = b.iterator();
    while (it.hasNext()) {
    System.out.println(it.next());
    } }}
      

  5.   

    List list = new ArrayList();
    Comparator comp = Collections.reverseOrder();
    Collections.sort(list, comp);
      

  6.   

    楼主理解错了,ArrayList.toArray生成了一个Array,与之前的ArrayList不是同一个对象了,对Array进行排序对ArrayList没有影响的
      

  7.   

    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.Comparator;
    import java.util.Iterator;
    public class Test {
        
        public void printArrayList()
        {
         ArrayList list = new ArrayList();
         list.add( "c" );
         list.add( "b" );
         list.add( "a" );
         list.add( "f" );
         list.add( "e" );
         list.add( "d" );
        
         Collections.sort( list, new MyComp() );
        
         Iterator it = list.iterator();
         while( it.hasNext() )
         System.out.println( (String)it.next() );
        }     public static void main(String[] args) 
        {
            
            new Test().printArrayList();
      
        }
        
        private class MyComp implements Comparator
        {
         public int compare(Object o1, Object o2)
         {
         return o1.toString().compareTo( o2 );
         }
        }}
      

  8.   

    public int compare(Object o1, Object o2)
         {
         return o1.toString().compareTo( o2 );
         }着句是什么意思啊?
      

  9.   

    Collections.sort( list, new MyComp() );
    这个方法的参数是一个Collection对象和一个实现了Comparator接口的对象,Compare接口定义了 public int compare(Object o1, Object o2) 这个方法,实现Comparator接口的类必须实现这个方法(参见java接口的语法规则)
    所以我写了一个内部类(外部类也可以,内部类只给这个类用),实现了compare这个方法