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

排序另一个arraylist的函数中的collection.sort(arraylist)

上官彬
2023-03-14

比如说,我在(公共类class1(String args[]))中创建了一个arraylist

static List<Double> list1 = new ArrayList<Double>();
biggestvalue(list1);

这是一个函数,例如:

public static double biggestvalue(List<Double> list){
    Collections.sort(list);
    return list.get(list.size()-1);
}

我将它传递到一个函数中,希望它只对list进行排序,而不对list1进行排序,但是list1也进行了排序,我不明白为什么会这样。因此,请向我解释为什么会这样,以及有什么解决这个错误的方法?

共有1个答案

宋子辰
2023-03-14

只有当将列表作为参数传递时,才传递对该列表的引用。因此,列表列表1都指向同一个列表

一个很好的经验法则是不要修改传递到方法中的对象,所以我会在方法中复制一个副本:

public static double biggestvalue(List<Double> list){
    List<Double> temp = new ArrayList<>(list);
    Collections.sort(temp);
    return temp.get(temp.size()-1);
}
 类似资料:
  • 我检查了许多示例,但我不知道如何实现比较器或其他方法来解决我的问题。我试图清楚地解释我的问题。我有一个arrayList如下:我的Datamodel包括一个int作为id和一个String作为每个对象的名称; 我的第二个Arraylist还包括一个包含更多项的数据模型,但它还包括First Arraylist的值,如下所示: 现在我想根据firstArrayList(值顺序)对第二个arrayLi

  • 我有一个ArrayList of String。 在每个索引上的外部ArrayList中,每个内部ArrayList有四个项目,有四个参数。 联系人ID 联系人姓名 联系地址 联系号码 现在,我想根据Contact Name参数对的完整ArrayList进行排序。 意味着我要访问外部Arraylist,外部Arraylist的每个索引上存在的内部Arraylist应该根据联系人名称进行排序。 比较

  • 问题内容: 我在找出根据一个列表的排序顺序对多个列表进行排序的最佳方法时遇到了麻烦。当前,列表是根据其索引排序的。离职时间列表以(00:00 AM / PM)格式保存时间字符串。它们是这样初始化的: 我需要根据发车时间ArrayList中发车时间的排序顺序对所有列表进行排序。在不更改结果数据结构的情况下对这些列表进行排序的最佳方法是什么。任何协助将不胜感激。 谢谢, 马特 问题答案: 如评论中所述

  • 问题内容: 我有两个arrayLists,我试图从另一个中“减去”一个arrayList。例如,如果我有一个arrayList [1,2,3],而我试图减去[0,2,4],则结果arrayList应该为[1,3]。 这是我的代码。 我的代码在某些情况下可以正常工作,例如if ,它将给我的结果。但是,如果我尝试像和 我得到这个异常: 这是我想出的代码。我已经通过它进行了测试,对我来说我认为它应该起作

  • 问题内容: 我有一个数组列表 并且在arraylist中有很多类型的对象值,这些值都是不同的。其中一个值是也与该数组列表一起设置的项目等级。 现在,我想根据排名的顺序对数组列表进行排序。排名值已在此数组列表中设置。 我如何排序其中一个具有很多类型的值…的数组列表? 谢谢大家。 问题答案: 使它们都是一种类型的对象。设计一个通用的基类或一个 然后 用于整理它们 例如。 假设arraylist中的所有