업무용/springjava

map.putAll // Collections.sort

SEOKIHOUSE 2024. 4. 29. 16:58

putAll을 써야 데이터가 덮어씌워진다

 

객체값에 m = m2했는데 안덮어지더라

★add하기전에 주소 같은거로 m = m2하면 값이 같아지는데 add하고나면 이미 그 값이 저장됨

List<EgovMap> mapList = new ArrayList<>();
        EgovMap map = new EgovMap();

        map.put("seq", "123");
        mapList.add(map);

        List<EgovMap> mapList2 = new ArrayList<>();
        EgovMap map7 = new EgovMap();
        map7.put("seq", "123");
        map7.put("sleep", "졸려");
        mapList2.add(map7);
        System.out.println(map7.toString());


        for(EgovMap m2 : mapList2) {
        	String seq2 = (String)m2.get("seq");

        	for(EgovMap m : mapList) {
        		String seq = (String)m.get("seq");

        		if(seq2.equals(seq)) {
        			System.out.println("@@@@@@@@@@@");
        			System.out.println(seq2);
        			System.out.println(seq);
        			m.putAll(m2);
        		}

        	}
        }

	    for (EgovMap m : mapList) {
	        System.out.println(m);
	    }

 Collections.sort ---> 리스트 값 정렬

  // 예시로 사용할 EgovMap 리스트 생성
        List<EgovMap> mapList = new ArrayList<>();
        EgovMap map = new EgovMap();
        EgovMap map1 = new EgovMap();
        EgovMap map2 = new EgovMap();
        EgovMap map3 = new EgovMap();
        EgovMap map4 = new EgovMap();
        EgovMap map5 = new EgovMap();
        EgovMap map6 = new EgovMap();

        map.put("seq", "123");
        map1.put("seq", "1234");
        map2.put("seq", "62");
        map2.put("orgcd", "123456");
        map3.put("seq", "62");
        map2.put("orgcd", "111111");
        map4.put("seq", "1");
        map5.put("seq", "124");
        map6.put("seq", "111");
        mapList.add(map);
        mapList.add(map1);
        mapList.add(map2);
        mapList.add(map3);
        mapList.add(map4);
        mapList.add(map5);
        mapList.add(map6);

        List<EgovMap> mapList2 = new ArrayList<>();
        EgovMap map7 = new EgovMap();
        map7.put("seq", "123");
        map7.put("sleep", "졸려");
        mapList2.add(map7);
        System.out.println(map7.toString());

        // Comparator를 사용하여 seq 기준으로 리스트를 정렬
        Collections.sort(mapList, new Comparator<EgovMap>() {
            @Override
            public int compare(EgovMap map1, EgovMap map2) {
                String seq1 = (String) map1.get("seq");
                String seq2 = (String) map2.get("seq");
                return Integer.compare(Integer.parseInt(seq1), Integer.parseInt(seq2));
            }
        });


        // 정렬된 리스트 출력
        for (EgovMap m : mapList) {
            System.out.println(m.get("seq"));
        }


//        for(EgovMap m2 : mapList2) {
//        	String seq2 = (String)m2.get("seq");
//
//        	for(EgovMap m : mapList) {
//        		String seq = (String)m.get("seq");
//
//        		if(seq2.equals(seq)) {
//        			m.putAll(map7);
//        		}
//
//        	}
//        }
//
//	    for (EgovMap m : mapList) {
//	        System.out.println(m);
//	    }