java - 如何使用比较器和迭代器对整数 vector 进行排序?

标签 java iterator compareto

我想创建 Integer vector 类型 Vector 并插入随机 10 个数字。

然后我想使用 compareToVector 进行排序,并发送两个参数类型数字进行比较。

但我错过了一些东西。 非常感谢您的帮助。

    import java.util.*;

public class SortNumeric implements Comparable<SortNumeric>
{
   private int ind =0;

   public static void main(String args[])
    {
        Vector<Integer> vec = new Vector<>();

        System.out.println("Befor sorting");
        for (int index = 0; index < 10; index++)
        {
            int rand = (int)(1000*Math.random());
            vec.add(rand);
             System.out.println(rand);
        }

        Arrays.sort(vec);

        System.out.println("After sorting");
        for(Integer intnum : vec)
         {
         System.out.println(intnum);
         }

    }

    public int getNextCompar(){
          if (vec.hasNext() && this.ind < 5){
            this.ind++;
            return vec.next();
        }else{return 0;}
     }

     public int compareTo(SortNumeric other)
            {
                return (int) (vec.next() - this.getNextCompar());

            }

}

最佳答案

class sortVectors implements Comparator<Integer>{

    @Override
    public int compare(Integer o1, Integer o2) {
        // TODO Auto-generated method stub
        if(o1<02){
            return -1;
        }else if(o1>o2)
            return 1;
            return 0;
    }
}
public class sortVector{
    public static void main(String[] args) {
        // TODO Auto-generated method stub
         Vector<Integer> vect = new Vector<Integer>();
            System.out.println("Befor sorting");
            for (int index = 0; index < 10; index++) {
                int rand = (int) (1000 * Math.random());
                vect.add(rand);
                System.out.println(rand);
            }
        Collections.sort(vect,new sortVectors());
        System.out.println("After Sorting");
        for (Integer num : vect) {
            System.out.println(num);
        }

    }

}

关于java - 如何使用比较器和迭代器对整数 vector 进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20739829/

相关文章:

c++ - 迭代器如何找到链表中的下一个地址

java - 如何为任何类型的可比较对象实现compareTo

java - 根据 String#CompareTo 的最小字符串

java - 如何读取java文件中的local.properties android

java - Iterator.hasNext() 似乎不会对列表中的最后一项返回 false

java - 无法启动 osgi 包,因为无法解析导入

java - 如何在 Spark Java 中遍历/迭代数据集?

java - 使用 compareTo 方法比较两种不同的数据类型

java - 如何为每个客户创建唯一的文件夹

java - 图像处理中的距离测量