使用自定义对象对Java向量进行排序和优化
我必须用“class Row_I”对象(见下文)优化Java向量,它描述了两个系列(A和B)的数字范围(startPos-endPos)在每一行中是相等的。 必须对该向量进行排序和优化 分组/排序标准: 1-按id_A进行的行分组,使用自定义对象对Java向量进行排序和优化,java,sorting,collections,vector,Java,Sorting,Collections,Vector,我必须用“class Row_I”对象(见下文)优化Java向量,它描述了两个系列(A和B)的数字范围(startPos-endPos)在每一行中是相等的。 必须对该向量进行排序和优化 分组/排序标准: 1-按id_A进行的行分组, 2-按id_B进行的行分组, 3-按startPosA进行的行分组, 4-按startPosB进行的行分组 因此,排序后必须删除冗余行 冗余行: 1.如果startPosA(i+1)值是下一个数字startPosA(i)值 只有当PosB满足相同的标准时,行优化才会
2-按id_B进行的行分组,
3-按startPosA进行的行分组,
4-按startPosB进行的行分组 因此,排序后必须删除冗余行 冗余行:
1.如果startPosA(i+1)值是下一个数字startPosA(i)值 只有当PosB满足相同的标准时,行优化才会发生 未排序的向量: id_A id_B sPosA-ePosA sPosA-ePosA 2392++4061++3158-3163++13222-13227
1192 ++ 2064 ++ 287 - 290 ++ 257 - 260;
2392 ++ 1063 ++ 480 - 590 ++ 1950 - 1960;
1092 ++ 1555 ++ 7385 - 7395 ++ 193 - 203;
1192 ++ 2064 ++ 273 - 286 ++ 243 - 256;
1192 ++ 2064 ++ 291 - 294 ++ 261 - 264; 向量排序与优化 1092++1555++7385-7395++193-203
1192++2064++273-294++243-264
2392 ++ 1063 ++ 480 - 590 ++ 1950 - 1960;
2392++4061++3158-3163++13222-13227
取决于实现集合大小的不同。在一个例子中是200-5000个物体 如果有人知道如何解决这个问题,我会找到一个有效的方法 如果有任何帮助,我将不胜感激
此处为Java中的整个类:
对象-类别“Row_i”->
@法克托小姐:谢谢你的提示 我不太了解您正在做的每件事,但是如果您想排序和删除重复项,使用向量似乎不是正确的集合选择。来棵树怎么样
为了保证没有重复和排序顺序,您的类Row_i需要重写equals()和hashCode()方法,并实现可比较的接口,除非您决定使用比较器。我并不完全理解您所做的一切,但是如果您想要排序和删除重复项,使用向量似乎不是正确的收集选择。来棵树怎么样
为了保证没有重复和排序顺序,您的类Row_i需要重写equals()和hashCode()方法,并实现Comparable接口,除非您决定使用Comparator。在创建实例时,将SortedSet用作变量/字段/返回类型和树集。让您的Row_i类实现Comparable或创建一个实现Comparator的类,并在创建树集时传递Comparator(Comparator应该是单例) 这是最好的解决方案,除非您需要随机访问
编辑:我写了一个可比较的示例在创建实例时使用SortedSet作为变量/字段/返回类型和TreeSet。让您的Row_i类实现Comparable或创建一个实现Comparator的类,并在创建树集时传递Comparator(Comparator应该是单例) 这是最好的解决方案,除非您需要随机访问
编辑:我写了一个可比较的例子谢谢,不需要随机访问。bevor从未使用过集合,你能写出一个更准确的例子吗?我通过简单的for-loop和if-query(见下文)解决了这个问题。但它不能正常工作。@xaoc:将您的代码发布到pastebin.com上,并将其链接放在comments.class Row_i->,class UpdateTable->,@Missing Faktor:谢谢您的提示!!我自己的“预解决方案”,但效果不好。类UpdateTable->,因为如果我成功地将行匹配条件1-3,然后再匹配条件4 n次。因此,总结(分组)到此结束@法克托小姐:谢谢你的提示!!谢谢,不需要随机访问。bevor从未使用过集合,你能写出一个更准确的例子吗?我通过简单的for-loop和if-query(见下文)解决了这个问题。但它不能正常工作。@xaoc:将您的代码发布到pastebin.com上,并将其链接放在comments.class Row_i->,class UpdateTable->,@Missing Faktor:谢谢您的提示!!我自己的“预解决方案”,但效果不好。类UpdateTable->,因为如果我成功地将行匹配条件1-3,然后再匹配条件4 n次。因此,总结(分组)到此结束@法克托小姐:谢谢你的提示!!