Java:填充两个 vector 并对它们进行排序

标签 java vector comparator

如何填充两个 vector 并将它们相互组合(索引或类中的对象类型)。我想如果我使用索引来组合它们,那么可以使用 Collections.sort 来处理排序,否则我必须创建一个比较器。

我们必须按照 Java 1.4 约定进行编码。

让你的想象力更容易;它是一个网格,有一个排序 vector (行)和一个内容 vector (包含所有列)。它们需要填充到 vector 中并进行排序。

上下文:我有一个 GridBagLayout,其中包含以奇怪顺序排列的所有组件。我需要循环遍历所有组件并以正确的网格顺序填充它们(gridx、gridy)。对于该解决方案,我考虑了两个 vector ,一个定义行并指向包含其列的 vector 。要么在填充 vector 时解决排序问题,要么我必须在第二步中对其进行排序。我想对于 java 4 除了两个包含对象的 vector 之外没有其他方法,对吗?

最佳答案

面向对象的解决方案是将两个 vector 中的对象包装在实现比较并保留指向真实对象的指针中。这样,您可以对两个 vector 进行独立排序,并使用包装器获取真实对象。

这是“装饰器”设计模式。

关于Java:填充两个 vector 并对它们进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/792461/

相关文章:

java - Spring Batch Reader参数问题

java - 在Java中,PrintStream如何最终将文本打印到控制台?

java - 在 Android 中检查密码

java - Connection、Statement 等预定义接口(interface)的抽象方法如何在没有主体的情况下执行某些任务?

c++ - 使用 STL vector 而不是运算符 [] 时崩溃

Java TreeSet 比较器

java - 使用比较器对包含整数的字符串进行排序

c++ - 使用 C++ 在多维 vector 中分配变量的最佳方法是什么?

c++ - 线程之间通过共享 vector 进行通信

C++,为什么 std::set 允许在与 set 元素不同的类型上使用 lower_bound(),但前提是我在 set 声明中添加 less<> ?