当前位置: 首页 > 面试题库 >

使用所有对象都包含的String值对Set中的对象进行排序

金阳曜
2023-03-14
问题内容

好的,这是一个棘手的问题。我有一套清单。我想按顺序对集合中的对象进行排序。

想象每个场景都压抑着学校的一堂课。每个集合包含人物对象。人员对象具有名称的字符串值。在遍历并写下来之前,我想按名称排列集合中的人物。

是否有任何使用Collections.sort();或类似的方法可以实现此目的?

for (Set<Person> s : listOfAllChildren) {       
      for (Person p : s) {
        if(p.getClass().equalsIgnoreCase("Jones")){
          System.out.println(p.getName());
          }
         else if...//carry on through other classes 
        }                              
      }

我确实知道班上2个以上的孩子可能使用相同的名字,但请忽略此


问题答案:

A Set没有 排序的 概念,因为它是一个集合。

您可以使用SortedSetTreeSet类实现的接口。只需为Comparator构造函数提供一个适当的值,或者让您的Person类实现Comparable



 类似资料:
  • 当我对它进行降序排序时,它应该首先显示Parent3,因为它有一个Z。这是我当前的hql,它得到了1>2>3的错误结果: 如果没有distinct,尽管它选择了多个相同的父级,但它仍然很好。 我有一个模型设置如下: 编辑:在集合中按HQL顺序对其进行排序,尽管当双亲具有相同的children.name值时,它不会比较下一个可能的值。即。 如果Parent1有孩子abba,zeon Parent2有

  • 问题内容: 是否可以使elasticsearch中的所有嵌套对象自动映射为默认嵌套的类型。而不是对象? 问题答案: 是的,您可以在创建索引时使用以下动态模板来做到这一点:

  • 我有一个班的学生有以下领域: 字段“状态”可以有2个值:1。现在,2。缺席的 然后我有一个可观察的列表: 因此,我将学生存储在这个列表中。每个学生都有出席或缺席状态。 我需要按状态对这个观察列表进行排序。我希望目前状态的学生在该列表中名列第一。 有什么建议吗? 如果有任何帮助,我将不胜感激。

  • 问题内容: 我有一个对象(解析树),其中包含子节点,这些子节点是对其他节点的引用。 我想使用序列化此对象,但是我得到了 TypeError:循环对象值 因为我提到的结构。 我该如何解决?对我而言,在序列化对象中是否表示对其他节点的引用并不重要。 另一方面,在创建对象时从对象中删除这些属性似乎很乏味,我也不想对解析器(水仙)进行更改。 问题答案: 使用的第二个参数,该替代品的功能,以排除已序列化对象

  • 我试图在DynamoDB上使用“LIKE”搜索,在这里我有一个使用nodejs的对象数组。 通过查看文档和我看到的其他相关帖子,可以使用CONTAINS参数来实现这一点。 我的问题是-我是否可以在DynamoDB中对所有项目运行扫描或查询,其中对象中的值类似于“test2”。 这是我的发电机桌 这就是JSON的外观: 我正在尝试执行一个扫描/查询,它将检查所有用户(每一行),检查所有项目,并返回描

  • 问题内容: 在我的程序中,创建了一个固定长度[7]个对象的数组,每个对象都是一个包含3 ,an 和an的类。这些值是从.txt文件中读取的,并基于的值添加到数组的特定索引中。.txt文件中的条目较少,然后数组中存在索引,因此该数组最终看起来像这样: 后来在节目中,我需要的基础上平均的排序的数组中。我有一个工作方法返回这个,但是当我尝试使用数组进行排序和我开始得到这些错误的一个长长的清单: 我的方法