· Ce que vous voulez faire Je veux comparer la liste A et la liste B et extraire uniquement celles qui sont dans les deux et celles qui sont dans la liste A. Je souhaite modifier le processus lors de la mise à jour et lors de la nouvelle
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>>S'il est également dans la liste B, mettez-le à jour, sinon, nouveau
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);
}
}
C'était en fait plus compliqué, mais une fois simplifié, cela ressemble à ceci. Dans un premier temps, préparez la liste C, jetez les éléments communs dans la liste C, supprimez les éléments des listes A et B, et enfin, s'il reste des éléments dans la liste A, ajoutez-les comme nouveaux. Je l'ai transformé en forme, mais quand je l'ai changé en le tournant avec l'itérateur, cela semblait inutile, et une erreur s'est produite, alors je l'ai changé. C'est bien d'être plus propre.
Recommended Posts