兩個Map的對比,三種方法,將對比結果寫入文件。


三種方法的思維都是遍歷一個map的Key,然后2個Map分別取這2個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值存到容器,分別取出對比

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方法調用並傳遞參就可以了,

PS:如果需要將結果(相同的value、不同的value)寫入文件,則可以寫一個write方法,在每次打印寫入文件,加文件地址參數即可

 

結果寫入文件方法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();
        }
    }

 

 
       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM