Java 反转Map.key、Map.value输出

Java 反转Map.key、Map.value输出,java,output,reverse,Java,Output,Reverse,我有这个输出,它以相反的顺序出现。最后一次打印是我想要的第一次打印。我怎样才能逆转它?这是一个HashMap System.out.println(); int c = 0; System.out.print(newName + "= "); for (Map.Entry<Integer, Integer> entry : result.entrySet()) { System.

我有这个输出,它以相反的顺序出现。最后一次打印是我想要的第一次打印。我怎样才能逆转它?这是一个HashMap

System.out.println();
            int c = 0;
            System.out.print(newName + "= ");
            for (Map.Entry<Integer, Integer> entry : result.entrySet()) {

                System.out.print(entry.getValue() + "X^" + entry.getKey());
                c++;
                if (c != result.size()) {
                    System.out.print("+");
                }
System.out.println();
int c=0;
系统输出打印(newName+“=”);
for(Map.Entry:result.entrySet()){
System.out.print(entry.getValue()+“X^”+entry.getKey());
C++;
如果(c!=result.size()){
系统输出打印(“+”);
}

要在迭代时保留插入顺序,请使用a而不是
HashMap
,若要反向执行,请执行以下操作:

List<Map.Entry<Integer, Integer>> entries = new ArrayList<>(result.entrySet());
Collections.reverse(entries);

for (Map.Entry<Integer, Integer> entry : entries) {
    // same body as before
}
List entries=newarraylist(result.entrySet());
收款.冲销(分录);
对于(Map.Entry:entries){
//和以前一样的身体
}
或者,我们可以使用反向迭代器:

List<Map.Entry<Integer, Integer>> entries = new ArrayList<>(result.entrySet());
ListIterator<Map.Entry<Integer, Integer>> iter = entries.listIterator();

while (iter.hasPrevious()) {
    Map.Entry<Integer, Integer> entry = iter.previous();
    // same body as before
}
List entries=newarraylist(result.entrySet());
ListIterator iter=entries.ListIterator();
while(iter.hasPrevious()){
Map.Entry=iter.previous();
//和以前一样的身体
}

要在迭代时保留插入顺序,请使用a而不是
HashMap
,若要反向执行,请执行以下操作:

List<Map.Entry<Integer, Integer>> entries = new ArrayList<>(result.entrySet());
Collections.reverse(entries);

for (Map.Entry<Integer, Integer> entry : entries) {
    // same body as before
}
List entries=newarraylist(result.entrySet());
收款.冲销(分录);
对于(Map.Entry:entries){
//和以前一样的身体
}
或者,我们可以使用反向迭代器:

List<Map.Entry<Integer, Integer>> entries = new ArrayList<>(result.entrySet());
ListIterator<Map.Entry<Integer, Integer>> iter = entries.listIterator();

while (iter.hasPrevious()) {
    Map.Entry<Integer, Integer> entry = iter.previous();
    // same body as before
}
List entries=newarraylist(result.entrySet());
ListIterator iter=entries.ListIterator();
while(iter.hasPrevious()){
Map.Entry=iter.previous();
//和以前一样的身体
}

要在迭代时保留插入顺序,请使用a而不是
HashMap
,若要反向执行,请执行以下操作:

List<Map.Entry<Integer, Integer>> entries = new ArrayList<>(result.entrySet());
Collections.reverse(entries);

for (Map.Entry<Integer, Integer> entry : entries) {
    // same body as before
}
List entries=newarraylist(result.entrySet());
收款.冲销(分录);
对于(Map.Entry:entries){
//和以前一样的身体
}
或者,我们可以使用反向迭代器:

List<Map.Entry<Integer, Integer>> entries = new ArrayList<>(result.entrySet());
ListIterator<Map.Entry<Integer, Integer>> iter = entries.listIterator();

while (iter.hasPrevious()) {
    Map.Entry<Integer, Integer> entry = iter.previous();
    // same body as before
}
List entries=newarraylist(result.entrySet());
ListIterator iter=entries.ListIterator();
while(iter.hasPrevious()){
Map.Entry=iter.previous();
//和以前一样的身体
}

要在迭代时保留插入顺序,请使用a而不是
HashMap
,若要反向执行,请执行以下操作:

List<Map.Entry<Integer, Integer>> entries = new ArrayList<>(result.entrySet());
Collections.reverse(entries);

for (Map.Entry<Integer, Integer> entry : entries) {
    // same body as before
}
List entries=newarraylist(result.entrySet());
收款.冲销(分录);
对于(Map.Entry:entries){
//和以前一样的身体
}
或者,我们可以使用反向迭代器:

List<Map.Entry<Integer, Integer>> entries = new ArrayList<>(result.entrySet());
ListIterator<Map.Entry<Integer, Integer>> iter = entries.listIterator();

while (iter.hasPrevious()) {
    Map.Entry<Integer, Integer> entry = iter.previous();
    // same body as before
}
List entries=newarraylist(result.entrySet());
ListIterator iter=entries.ListIterator();
while(iter.hasPrevious()){
Map.Entry=iter.previous();
//和以前一样的身体
}


一般情况下,地图没有任何保证的顺序。如果你想要一个特定的顺序,你应该自己排序输出。另一方面,如果这是一个排序的地图,你应该只按相反的顺序排序。我们不能根据你在这里指定的内容来判断。考虑使用<代码> TeeMap < /Cord>排序。通过使用
TreeMap
并提供一个
Comparator
来反转它。您使用了哪种类型的映射?HashMap?映射通常没有任何保证的顺序。如果您想要特定的顺序,您应该自己对输出进行排序。另一方面,如果这是一个已排序的映射,您应该只使用rever进行排序SE命令。我们不能根据你在这里指定的内容来判断。考虑使用<代码> TeeMap < /Cord>排序。通过使用<代码> TreMap < /C> >并提供一个<代码>比较器< /代码>。您使用了什么类型的地图?Hasmap?map通常没有任何保证的顺序。如果您想要特定的顺序,您应该这样做。另一方面,如果这是一个排序的地图,你应该只按相反的顺序排序。我们不能根据你在这里指定的内容来判断。考虑使用<代码> TeeMap < /Cord>排序。通过使用<代码> TreMap < /C> >并提供一个<代码>比较器< /代码>,你做了什么样的地图?HashMap?地图一般没有保证的顺序。如果你想要一个特定的顺序,你应该自己对输出排序。另一方面,如果这是一个排序的映射,你只需要按相反的顺序排序。我们不能根据你在这里指定的内容来判断。考虑使用<代码> TeeMePa/COD>排序。通过使用<代码> TreMeP来反转它。/code>并提供一个
比较器
来做你想做的事情这和以前一样吗?@Dave我的意思是:在我的新循环中复制相同的循环体。第一个循环体起作用了,但其中一个值仍然放错了位置。第二个似乎根本不起作用。没有打印输出。@Dave你使用了
LinkedHashMap
?如果不,它不起作用。对于第二个循环,请注意,您必须使用
entry
局部变量。如果您不发布与您尝试执行的操作相关的全部代码,则无法帮助您。这与以前是如何相同的?@Dave我的意思是:在我的新循环中复制相同的循环体。ok第一个循环有点起作用,但其中一个是va值仍然放错了位置。第二个似乎根本不起作用。没有打印输出。@Dave您是否使用了
LinkedHashMap
?如果没有,它将不起作用。对于第二个循环,请注意,您必须使用
entry
局部变量。如果不发布与您正在尝试的内容相关的全部代码,则无法为您提供帮助g to doHow这和以前一样吗?@Dave我的意思是:在我的新循环中复制相同的循环体。第一个循环有点工作,但其中一个值仍然放错了位置。第二个循环似乎根本不工作。没有打印输出。@Dave你使用了
LinkedHashMap
?如果没有,它就不会工作。请注意,对于第二个循环,你使用了
LinkedHashMap
st使用
entry
局部变量。如果你不发布与你要做的事情相关的全部代码,这是不可能帮助你的