본문 바로가기

개발중/Java

카테고리 부모 자식 매핑

728x90
반응형

내가 어쩌다가 아홉시간에 걸쳐서 만들게 된 재귀가 있다.

카테고리를 구성하는 코드를 짜는데 부모요소가 있고, 자식 요소가 있으면

서로 연결 시켜주는 트리구조 였다.

 

무튼 나는 열심히 머리를 쥐어 뜯으며 짰는데 결과가 나와서

와,,, 해냈다 하면서 아래 급하게 재귀함수라고 떵떵 거리고 기록을 했는데,

soobindeveloper8.tistory.com/344

 

주완선배는 아래 저 몇줄로 나랑 같은 결과를 만들었다.

한 10분 걸렸나?

오늘 내 하찮음을 지독하게 느끼게 되는 하루였다 (⓿_⓿)


package com.rsn.def.job;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;

public class MenuSession {

	// ALL DATA
	private static List<menuVo> ALL_LIST = null;
	private static Map<Integer, menuVo> menuSeqMap = null;
	  
 
	public MenuSession() {

		MenuFile file = new MenuFile();
		ALL_LIST = file.getJsonList();

		
		for ( menuVo vo : ALL_LIST ) {
			vo.setChildList(new ArrayList<>());
		}
		
		for ( menuVo children : ALL_LIST ) {
			for ( menuVo parent : ALL_LIST ) {
				if(children.getCode_p_seq() == parent.getCode_seq()) {
					parent.getChildList().add(children);
					break;
				}
			}
		}
		
		menuSeqMap =  ALL_LIST
				     .stream()
				     .collect(Collectors.toMap(menuVo::getCode_seq, Function.identity()));
	}


	private Map<Integer, menuVo> menuSeqMap() {
		return menuSeqMap;
	}
}

 

728x90
반응형

'개발중 > Java' 카테고리의 다른 글

Field 활용  (0) 2021.04.19
Map 람다식  (0) 2021.04.16
json 문서 변환 (java)  (0) 2021.04.12
재귀 도전 하다  (0) 2021.04.12
JAVA이클립스 라이브러리 추가하는 방법  (0) 2021.04.08