2019년 10월 30일 수요일
[java] 계층형 테이블 데이터 list 를 map 으로 변환하기
//최상위 부모는 parentId 가 0
//공통사용할수있게 제네릭으로 빼지 않았다 알아서 변경해서 사용하시길
private ArrayList<CompanyVo > makeCompanyTreeList(ArrayList<CompanyVo > companyList) {
Map<String, CompanyVo> mapTmp = new HashMap<>();
// 리스트를 아이디를 키로하는 맵으로 변환
for(CompanyVo companyVo : companyList) {
companyVo.setText(companyVo.getCompanyName());
companyVo.setHasChildren(false);
companyVo.setChecked(false);
companyVo.setId(companyVo.getCompanyId());
companyVo.setImageCssClass("fas fa-building");
companyVo.setPrimaryKey(companyVo.getCompanyId());
companyVo.setChildren(new ArrayList<CompanyVo>());
mapTmp.put(String.valueOf(companyVo.getCompanyId()), companyVo);
}
// 계층 구조 만들기
for(CompanyVo current : companyList) {
String parentId = String.valueOf(current.getParentId());
// 부모 노드가 있는 놈
if(!parentId.equals("0")) {
CompanyVo parent = mapTmp.get(parentId);
// 부모가 맵상에 존재
if(parent != null) {
parent.setHasChildren(true);
parent.setImageCssClass("fas fa-sitemap");
// 기존 자식들을 가져옴.
ArrayList<CompanyVo> children = parent.getChildren();
children.add(current);
parent.setChildren(children);
mapTmp.put(parentId, parent);
mapTmp.put(String.valueOf(current.getCompanyId()), current);
}
}
}
ArrayList<CompanyVo > companyTreeList = new ArrayList<CompanyVo > ();
for(CompanyVo companyVo : companyList) {
if(String.valueOf(companyVo.getParentId()).equals("0")) {
CompanyVo root = mapTmp.get(String.valueOf(companyVo.getCompanyId()));
companyTreeList.add(root);
}
}
return companyTreeList;
}
피드 구독하기:
댓글 (Atom)
[oracle]백업및 복구
[oracle]백업및 복구 오라클 덤프 백업및 복구 윈도우 서버 기반 간단 정리 --디렉터리 조회 sqlplus 또는 dbtool 입력시작 SELECT * FROM DBA_DIRECTORIES ; --D:...
-
수십대의 서버에 특정 쉘을 실행한다거나 파일을 수정해야할경우 호스트 입력 아이디 입력 패스워드 입력은 여간 짜증나는일이 아닐수 없다. 이를 한방에 해주는 방법 teraterm 를 설치한다( putty 는 버리자 ) 예를 들면 19...
-
pom.xml <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId...
-
notice_state 란 이름의 체크박스가 있다 가정하고 $("input[name=notice_state]").bind("click",false); 끝.
댓글 없음:
댓글 쓰기