comparator 相关问题

用于创建对象的Common接口,用于指定比较其他对象的方式。在实现繁重的问题上使用此标记时 - 标记实现编写的代码语言。

如何根据另一个列表中包含的属性对 Java 对象列表进行排序?

有没有办法按另一个列表包含的属性对对象列表进行排序? 例如,我尝试按 Stri 的 ArrayList 模型的值对 CustomObjects 的 ArrayList customObjects 进行排序...

回答 2 投票 0

Java Integer 类是否有返回 Comparator 的比较方法?

我在阅读Java教程时看到了这行代码: 比较器正常 = Integer::compare; 关于右侧,我尝试寻找解释如何比较的文档...

回答 2 投票 0

java中如何实现包含另一个类的类的equals方法

我想比较StudentDTO类对象。 StudentDTO s1 = new StudentDTO(); StudentDTO s2 = new StudentDTO(); s1.等于(s2) 我的 StudentDTO 类包含 AddressDTO 类对象作为

回答 1 投票 0

如何编写比较器以使用 lambda 表达式基于第二列对二维数组进行排序

我正在研究 Java 中的二维数组排序问题。我想根据每行中的第二列对数组进行排序,例如 a[i][1]。我正在尝试编写一个 lambda 表达式以将其放入 Arrays.sor...

回答 5 投票 0

按对象属性对 TreeMap 进行排序

我有一个充满房屋的树图。每栋房屋都有不同的属性,例如地址、楼层数等。TreeMap 被填充到 JList 中,以便用户可以从列表中选择房屋...

回答 1 投票 0

c++ 使用 std::lower_bound 通过 2 个参数查找数组中的元素

我在使用 lower_bound 通过 2 个参数查找数组中的元素时遇到问题。 我有一个 结构人{ 民众: 人(const std::string CITY,const std::string ADDRESS,const std::string REGI...

回答 1 投票 0

列表上的比较器只有空值

以下代码返回空指针异常: 比较器 c = (LocalDate d1,LocalDate d2)-> {return (d1.isAfter(d2) ? 1 : (d1.isBefore(d2)? -1: 0));} ; 列表...

回答 1 投票 0

使用 Collator 对整数列表进行排序

我们使用以下简化的代码片段进行排序。 Collator collator = Collator.getInstance(Locale.GERMAN); collator.setStrength(Collator.SECONDARY); 返回Comparator.comp...

回答 1 投票 0

如何使 Java TreeMap 通过某些比较器进行排序?

我有一个java TreeMap(现在我们称之为多重集,因为这就是我使用它的目的),我希望它按字符串的长度排序。我的意思是,对于一些...

回答 2 投票 0

将 Comparator 与 nullsLast 一起使用时出现 NullPointerException

我知道对于同一个问题有很多类似的问题。但是,我已经尝试过提供的解决方案,但没有一个对我有用。我 100% 确定这是我所缺少的基本内容,但我无法...

回答 2 投票 0

如何在 C++ 中使用自定义比较器创建 std::set?

如何创建一组对,其中的元素(对)使用自定义布尔函数进行排序?我写的 设置,比较> myset; 并得到错误:类型/值不匹配...

回答 3 投票 0

std::set 比较器 - 基于多个属性的 STL 排序

我正在使用自定义比较器测试 std::set 。但我看到同一个对象被插入两次。 以下是对象类: 班级信息 { 民众: 信息(字符串 n,字符串 o...

回答 3 投票 0

java中多个属性的自定义排序

我有以下自定义代码排序方法,要求是我们必须根据 BoardPoint、OffPoint、LastName 和 FirstName 进行自定义排序。 首先根据 BoardPoint 排序 如果

回答 1 投票 0

java - 从语义上比较不同类型的数字

假设我有三个数字: 可比较 n1 = new Integer(432); 可比较 n2 = new Long(40); 可比较 n3 = new Double(500.12); 我想通过 Comparable 接口来比较这些数字。

回答 4 投票 0

为什么我的比较器在插入一组时会被调用两次?

我试图了解比较器在 cpp 中是如何工作的。因此,当我插入 s1 时,不会调用比较器运算符,这是有道理的。但是当插入 s2 时,比较器运算符被校准...

回答 2 投票 0

如何使用java通过比较子列表元素来对父列表进行排序和排名? [已关闭]

我需要根据给出的科目优先顺序找到学生排名。学生列表包含带有分数的科目列表。主题优先顺序列表中有我们应该有的优先顺序...

回答 1 投票 0

在priority_queue中使用更大的比较器存储自定义类的指针

我有一个像这样的priority_queue,而不是使用less比较(priority_queue的默认值)。我想使用更大的<>。所以我像这样调整代码 优先队列 我有一个像这样的priority_queue,而不是使用less比较(priority_queue的默认值)。我想使用更大的<>。所以我像这样调整代码 priority_queue<EncodingNode*, vector<EncodingNode*>, greater<Comparator>> pq; 这是我的EncodingNode的定义 class EncodingNode { public: char c; int freq; int priority; }; 这是我的比较器类: struct Comparator { bool operator()(const EncodingNode* a, const EncodingNode* b); }; bool Comparator::operator()(const EncodingNode* a, const EncodingNode* b) { // logic for comparing two EncodingNode* if (a->freq > b->freq) return true; else if (a->freq == b->freq) { if (a->priority > b->priority) return true; } return false; } 它一直给我这个错误:无法将参数 1 从 'EncodingNode *' 转换为 'const_Ty &' 无论如何,有没有办法解决这个问题,如果我删除代码的大部分,它会运行,但不使用更大的<>,我必须以某种方式否定比较器内的条件并给出错误的结果。在这种情况下是否可以使用更大的<>。非常感谢。 std::greater 将 (x, y) 转换为 x > y,因为 Comparator 没有实现 > 运算符 greater<Comparator> 无法编译。在这种情况下你不需要std::greater,你只需直接传递比较器即可: priority_queue<EncodingNode*, vector<EncodingNode*>, Comparator> pq; 请注意,您的比较器可以简化为: bool Comparator::operator()(const EncodingNode* a, const EncodingNode* b) { return std::tie(a->freq, a->priority) > std::tie(b->freq, b->priority); }

回答 1 投票 0

比较然后比较给出编译错误

我正在尝试使用 Java8 比较器按姓名和年龄对员工列表进行排序,我在下面创建了比较器,但它给了我一个编译器错误 类型不匹配:无法从比较器转换<...

回答 1 投票 0

Delphi 字符串变量比较是否使用 loInvariantLocale?如何在本地启用 loUserLocale?

我的问题源于DevExpress TcxGrid默认比较(用于数据排序),归结为代码(在cxVariants.pas中实现): 如果 VarIsEmpty(V1) 那么 如果 VarIsEmpty...

回答 1 投票 0

一个列表充当对另一个列表进行排序的模板

假设有两个列表: 列表 listA = Arrays.asList(1,2,3,4,5,6,7,6,5,4,3,2,1,0); 该列表是用于对另一个列表B进行排序的模板。 列表 listB = Arrays.asList(0,106,107,101,105,102,102,103,10...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.