三種方法的思維都是遍歷一個(gè)map的Key劫灶,然后2個(gè)Map分別取這2個(gè)Key值所得到的Value。
- 第一種用entry
private void compareMap(Map<String, String> Map01, Map<String, String Map02>){
for (Map.Entry<String, String> entry : Map1.entrySet())
{
String testKey = entry.getKey();
if(Map1.get(testId).equals(Map2.get(testId))){
System.out.println("equals");
}else{
System.out.println("not equals");
}
}
}
- 第二種用keyset的方法掖桦,把key值存到容器本昏,分別取出對(duì)比
private void compareMap(Map<String, String> Map01, Map<String, String Map02>){
Iterator<String> iter = Map1.keySet().iterator();
while (iter.hasNext()) {
String testKey = iter.next();
if(Map1.get(testId).equals(Map2.get(testId))){
System.out.println("equals");
}else{
System.out.println("not equals");
}
- 第三種用keyset的方法,遍歷Key值
public class CompareMap {
public static void main(String[] args) {
}
private void compare(Map<String, String> map1, Map<String, String> map2) {
for (String testkey : map1.keySet()) {
if(map1.get(testkey).equals(map2.get(testkey))){
System.out.println("equals");
}else{
System.out.println("not equals");
}
}
}
在main方法調(diào)用并傳遞參就可以了
- PS:如果需要將結(jié)果(相同的value枪汪、不同的value)寫入文件涌穆,則可以寫一個(gè)write方法,在每次打印寫入文件雀久,加文件地址參數(shù)即可
結(jié)果寫入文件方法write
public static void write(String file, String valueOfMap1, String valueOfMap2) {
try {
BufferedWriter input = new BufferedWriter(new OutputStreamWriter(
new FileOutputStream(file, true)));
input.write("Map1Output: " + valueOfMap1 + "\r\n");
input.write("Map2Output: " + valueOfmap2 + "\r\n");
input.newLine();
input.close();
} catch (IOException e) {
e.printStackTrace();
}
}