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);
        }