当前位置: 首页 > 知识库问答 >
问题:

将ArrayList转换为排序集(TreeSet)并返回它

汪修诚
2023-03-14

I一种方法,它获取一个数字列表(例如,ArrayList),并将其转换为一个排序集(例如,TreeSet),然后返回它。我写了代码,但我有一些问题。

public TreeSet getSort (ArrayList list){
   TreeSet set =new TreeSet(list);
    return set;

我的问题主要是:

ArrayList List = new ArrayList();
    List.add(5);
    List.add(55);
    List.add(88);
    List.add(555);
    List.add(154);
    System.out.println("the TreeSet of ArrayList is : " + getSort(List));

共有3个答案

颛孙霖
2023-03-14

getSort()不是静态的,不能从main调用。您需要使其静态。

戈博易
2023-03-14

您可能会遇到错误,因为getSort()不是静态的,所以无法从main()调用。除此之外,您不应使用原始类型,将列表和集合参数化:

ArrayList<Integer> list = ...

TreeSet<Integer> set = ...

你应该得到有关这方面的警告。

事实上,我会让这个方法完全通用:

public static <V extends Comparable<V>> TreeSet<V> getSort(List<V> list) {
    return new TreeSet<>(list);
}

最后,请记住遵循命名约定:局部变量名称应以小写字母开头(即list,而不是list)。

公孙胡媚
2023-03-14

您需要让类实例调用getSort()方法,或使getSort()成为静态的

确实喜欢

System.out.println("the TreeSet of ArrayList is : "+ new classname().getSort(List));

或使方法静态

    public static TreeSet getSort (ArrayList list){
       TreeSet set =new TreeSet(list);
        return set;
         }
 类似资料:
  • 问题内容: 我有一个包含> 100k对象的TreeSet。我有另一种方法需要ArrayList作为参数。 我有什么方法可以完成此任务而无需迭代整个TreeSet,然后将每个对象手动添加到ArrayList? 问题答案: 这个怎么样: 对于Java 7及更高版本,这可以简化,因为类型参数可以替换为菱形类型:

  • 问题内容: 我想将ArrayList保存到SharedPreferences,因此需要将其转换为字符串然后返回,这就是我正在做的事情: 我可以用它来检索它,但我不知道如何将arrayString转换回ArrayList。如何做呢? 我的数组看起来像: 问题答案: 您有2个选择: 手动解析字符串并重新创建arraylist。这将是非常乏味的。 使用Google的Gson库之类的JSON库,以JSON

  • 问题内容: 怎么转换成?如果应该这样做 那怎么算呢? 以及如何转换为? 问题答案: 缓冲区长度为frameCapacity * bytesPerFrame。以下是可以在NSData和AVAudioPCMBuffer之间进行转换的函数。

  • 我希望代码得到一个int作为参数,如果年龄是奇数,则加3,如果是偶数,则加2,然后作为字符串返回。 有了这个代码我得到了 不兼容的类型:无法将int转换为字符串 九号线不是已经换了吗?

  • 问题内容: 因此,我尝试将Key转换为字符串,以便可以使用System.out显示它,然后将其转换回Key。我可以使用BASE64Encoder将其转换为字符串,但是在将其转换回时遇到问题。这是我的源代码: 问题答案: 您永远不会使用un-base-64您的字符串。 替换为: 与

  • 我目前正在使用平铺地图为pyplay中的一个游戏开发地图编辑器。关卡由以下结构中的块构建而成(尽管要大得多): 其中“1”是一块墙,“0”是一块空空气。 以下代码基本上是处理块类型更改的代码: