ArrayList와 HashMap을 한번에(합쳐서?) 사용하기.
ArrayList<HashMap<String, String>>
형태로 ArrayList를 만들어서 사용하면 된다.
사용 예제>
DB에 저장된 두개의 컬럼을 각각 다른 키값을 갖는 HashMap을 만들어 사용하고 싶다.
사용시 두 해시맵을 동시에 불러오고 싶다(?)
DB에서 값 가져오기.
< 시작>
public ArrayList<HashMap<String, String>> getlist(){
ArrayList<HashMap<String, String>> list = new
ArrayList<HashMap<String,
String>>();
//하나로 만들 arraylist 선언
try
{
conn = getConnection();
//커넥션을 불러오는 사용자 함수.
Statement stmt = conn.createStatement();
rs = stmt.executeQuery(
"SELECT CODE, NAME FROM TEST ORDER BY CODE"
);
//data를 가져와서.
while
(rs.next()){
HashMap<String,String> sidmap =
new
HashMap<String,String>();
//그때그때 해시맵을 선언해 주어야 함.(키 값이 계속 동일 함으로)
sidmap.put(
"code"
, rs.getString(
"CODE"
));
sidmap.put(
"name"
, rs.getString(
"NAME"
));
//두개의 키 두개의 값
list.add(sidmap);
//리스트에 추가.
}
return
list;
}
catch
(Exception e){
e.printStackTrace();
}
finally
{
disConnection();
//커넥션 종료하는 사용자 함수.
}
return
null
;
}
DB에서 가져온 리스트를 사용 할때.
< 시작>
<%@ page language=
"java"
contentType=
"text/html; charset=UTF-8"
pageEncoding=
"UTF-8"
%>
<%@ page language=
"java"
import
=
"java.util.*"
%><!-- Arraylist와 hashmap을 쓰기위해 -->
<jsp:useBean id=
"getlist"
class
=
"test.list"
scope=
"page"
/><!-- 디비에서 값 가져오는 클래스 -->
<%
ArrayList<HashMap<String, String>> list =
new
ArrayList<HashMap<String, String>>();
list = getlist.getlist();
%>
<body>
<table>
<tr>
<td
class
=
"mx_td"
>
<select name=
"s_id"
>
<%
for
(
int
i=
0
; i<list.size(); i++) {%>
<option value=
"<%=list.get(i).get("
code
")%>"
>
<%=list.get(i).get(
"name"
)%></option>
<%} %>
</select>
</td>
</tr>
</table>
</body>
결과
출처 - http://notpeelbean.tistory.com/35