TIL
2차원 리스트 만들기
nundung
2023. 12. 8. 19:29
특정부서의 직원들의 정보를 리스트로 불러오는 작업을 하다가,
2차원 리스트를 이용하면 편리해질 것 같아서 2차원 리스트를 공부해보았다.
1차원 리스트로 불러온 모습 : 이름 리스트, 전화번호 리스트, Idx 리스트를 각각 만들었다.
ArrayList<String> memberNameList = new ArrayList<String>();
ArrayList<String> memberPhonenumberList = new ArrayList<String>();
ArrayList<Integer> memberIdxList = new ArrayList<Integer>();
String memberSql = "SELECT * FROM account WHERE team_idx = ? AND position_idx = 1";
memberQuery = connect.prepareStatement(memberSql);
memberQuery.setInt(1,team);
//return값을 저장해줌
memberResult = memberQuery.executeQuery();
while(memberResult.next()) {
Integer memberIdx = memberResult.getInt(1);
String memberName = memberResult.getString(4);
String memberPhonenumber = memberResult.getString(5);
memberIdxList.add(memberIdx);
memberNameList.add("\""+memberName+"\"");
memberPhonenumberList.add("\""+memberPhonenumber+"\"");
2차원 리스트로 불러온 모습 : 이름 리스트, 전화번호 리스트, Idx 리스트를 한꺼번에 불러올 수 있다.
Connection connect = null;
PreparedStatement memberQuery = null;
ResultSet memberResult = null;
ArrayList<ArrayList<String>> memberInfoList = new ArrayList<ArrayList<String>>();
ArrayList<String> memberNameList = new ArrayList<String>();
ArrayList<String> memberPhonenumberList = new ArrayList<String>();
ArrayList<Integer> memberIdxList = new ArrayList<Integer>();
String memberSql = "SELECT * FROM account WHERE team_idx = ? AND position_idx = 1";
memberQuery = connect.prepareStatement(memberSql);
memberQuery.setInt(1,team);
//return값을 저장해줌
memberResult = memberQuery.executeQuery();
while(memberResult.next()) {
Integer memberIdx = memberResult.getInt(1);
String memberName = memberResult.getString(4);
String memberPhonenumber = memberResult.getString(5);
memberIdxList.add(memberIdx);
memberNameList.add("\""+memberName+"\"");
memberPhonenumberList.add("\""+memberPhonenumber+"\"");
}
//2차 arraylist에 1차 arraylist 집어넣기
memberInfoList.add(memberIdxList);
memberInfoList.add(memberNameList);
memberInfoList.add(memberPhonenumberList);
}