Java Hashmap:交换两个值?
我可以交换Hashmap的两个值的键吗,或者我需要做一些聪明的事情吗 看起来像这样的东西:Java Hashmap:交换两个值?,java,hashmap,swap,Java,Hashmap,Swap,我可以交换Hashmap的两个值的键吗,或者我需要做一些聪明的事情吗 看起来像这样的东西: Map.Entry<Integer, String> prev = null; for (Map.Entry<Integer, String> entry: collection.entrySet()) { if (prev != null) { if (entry.isBefore(prev)) {
Map.Entry<Integer, String> prev = null;
for (Map.Entry<Integer, String> entry: collection.entrySet()) {
if (prev != null) {
if (entry.isBefore(prev)) {
entry.swapWith(prev)
}
}
prev = entry;
}
Map.Entry prev=null;
对于(Map.Entry:collection.entrySet()){
如果(上一个!=null){
如果(条目.isBefore(上一个)){
条目。swapWith(上一个)
}
}
prev=输入;
}
好吧,如果你只是在一张地图上点了钥匙,那就用一张
就我个人而言,我会选择一个
SortedMap
好吧,如果你只是想要一个键被排序的地图,那就用一个
就我个人而言,我只想使用一个
分类地图
在地图
或条目
界面中没有类似的功能,但实现起来非常简单:
Map.Entry<Integer, String> prev = null;
for (Map.Entry<Integer, String> entry: collection.entrySet()) {
if (prev != null) {
if (entry.isBefore(prev)) {
swapValues(e, prev);
}
}
prev = entry;
}
private static <V> void swapValues(Map.Entry<?, V> first, Map.Entry<?, V> second)
{
first.setValue(second.setValue(first.getValue()));
}
Map.Entry prev=null;
对于(Map.Entry:collection.entrySet()){
如果(上一个!=null){
如果(条目.isBefore(上一个)){
SwapValue(e、prev);
}
}
prev=输入;
}
私有静态void swapvalue(Map.Entry在Map
或Entry
接口中没有类似的功能,但实现起来非常简单:
Map.Entry<Integer, String> prev = null;
for (Map.Entry<Integer, String> entry: collection.entrySet()) {
if (prev != null) {
if (entry.isBefore(prev)) {
swapValues(e, prev);
}
}
prev = entry;
}
private static <V> void swapValues(Map.Entry<?, V> first, Map.Entry<?, V> second)
{
first.setValue(second.setValue(first.getValue()));
}
Map.Entry prev=null;
对于(Map.Entry:collection.entrySet()){
如果(上一个!=null){
如果(条目.isBefore(上一个)){
SwapValue(e、prev);
}
}
prev=输入;
}
私有静态void swapvalue(Map.Entry我正在尝试根据特定算法对字符串值进行排序。然后编写一个可比较的接口并将其传递给映射的构造函数。实际上,如果您尝试对字符串值进行排序,那么您需要的是一个映射。我正在尝试根据特定算法对字符串值进行排序。然后编写一个可比较的接口rface并将其传递给映射的构造函数。请参阅,实际上,如果您试图对字符串值进行排序,那么您需要的是一个映射。您是否尝试使用键对一组项进行排序?只需使用树形图,并提供一个比较器或覆盖等于和比较器。这可能需要更多的解释。int是什么eger键?它们是否强制执行某种顺序?如果是这样,并且如果您是基于字符串值排序的,为什么不使用列表来代替?或者该键是否具有其他含义?您是否尝试使用键对一组项目进行排序?只需使用树形图来代替,或者提供一个比较器或覆盖等于和比较器。这可能需要一点时间更多解释。什么是整数键?它们是否强制执行某种顺序?如果是,并且如果您是基于字符串值排序,为什么不使用列表?或者该键是否具有其他含义?
Map.Entry<Integer, String> prev = null;
for (Map.Entry<Integer, String> entry: collection.entrySet()) {
if (prev != null) {
if (entry.isBefore(prev)) {
swapValues(e, prev);
}
}
prev = entry;
}
private static <V> void swapValues(Map.Entry<?, V> first, Map.Entry<?, V> second)
{
first.setValue(second.setValue(first.getValue()));
}