· Was Sie tun möchten Ich möchte Liste A und Liste B vergleichen und nur diejenigen extrahieren, die in beiden und in Liste A enthalten sind. Ich möchte den Prozess beim Aktualisieren und im Neuzustand ändern
qiita.rb
/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
public static void main (String[] args) throws java.lang.Exception
{
// MAP-A
Map<String, String> listA = new HashMap<String, String>();
listA.put("fruits","apple");
listA.put("animal","cat");
listA.put("sports","soccer");
listA.put("drink","water");
// MAP-B
Map<String, String> listB = new HashMap<String, String>();
listB.put("sports","soccer");
listB.put("fruits","apple");
listB.put("color","red");
//Set<Map.Entry<K,V>>Wenn es auch in Liste B enthalten ist, aktualisieren Sie es, falls nicht, neu
for(Map.Entry<String,String> entry : listA.entrySet()){
String key = entry.getKey();
String val = entry.getValue();
if(listB.get(key) != null){
entry.setValue(val + "Koshin");
} else {
entry.setValue(val + "Shinki");
}
}
System.out.println(listA);
}
}
Es war eigentlich komplizierter, aber wenn es vereinfacht wird, sieht es so aus. Bereiten Sie zunächst Liste C vor, werfen Sie allgemeine Elemente in Liste C, löschen Sie die Elemente aus den Listen A und B, und schließlich können Sie neue Elemente hinzufügen, wenn in Liste A noch Elemente vorhanden sind. Ich habe es in eine Form gebracht, aber als ich es beim Drehen mit dem Iterator geändert habe, schien es nutzlos zu sein und es ist ein Fehler aufgetreten, also habe ich es geändert. Das ist schön sauberer zu sein.
Recommended Posts