gpt4 book ai didi

java - Vector int 或 String 中的比较类型排序

转载 作者:行者123 更新时间:2023-12-02 08:18:12 24 4
gpt4 key购买 nike

在此,我尝试使用 getSmallestValue 方法来整理 intV 和 stringV。尝试了不同的想法,但似乎不起作用。有人有任何好主意如何实现这个 getSmallestValue 方法吗?

public class test {

public static Comparable getSmallestValue(Vector<Comparable> a) {
Comparator com = Collections.reverseOrder();
Collections.sort(a, com);
return (Comparable) a;
}

public static void main(String[] args) {
Vector<Comparable> intV = new Vector<Comparable>();
intV.add(new Integer(-1));
intV.add(new Integer(56));
intV.add(new Integer(-100));
int smallestInt = (Integer) getSmallestValue(intV);

System.out.println(smallestInt);

Vector<Comparable> stringV = new Vector<Comparable>();
stringV.add("testing");
stringV.add("Pti");
stringV.add("semesterGoes");
String smallestString = (String) getSmallestValue(stringV);

System.out.println(smallestString);
}
}

最佳答案

欢迎来到 StackOverflow。

您的基本问题是您试图将 vector 转换为整数,但您无法做到。

可能更有用的是使用 vector 的第一个元素。

我建议你

  • 使用列表而不是 vector 。
  • 我不会使用手动包装
  • 使用泛型定义 getSmallestValue 以避免混淆。

以下是实现此方法的两种方法。

public static <N extends Comparable<N>> N getSmallestValue(List<N> a) {
Collections.sort(a);
return a.get(0);
}

public static <N extends Comparable<N>> N getSmallestValue2(List<N> a) {
return Collections.min(a);
}

List<Integer> ints = Arrays.asList(-1, 56, -100);
int min = getSmallestValue(ints);
// or
int min = Collections.min(ints);

关于java - Vector int 或 String 中的比较类型排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5962749/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com