Spring

국비코딩 Mar09 | collection framework 중 map, hashmap 특징, java I.O(ip로 다른 컴 접속하기)

onnnzeoz 2023. 3. 9. 17:45

hash set 순서가 없음 -> 정렬을 못함 -> 순서를 정할 수 없음 -> 검색이 불가능(검색할 때 가나다 순으로 정렬 먼저 하니까)

hash table는 vector랑 비슷

 

map

자바스크립트에선 오브젝트라고 부른거

key값은 중복 안됨, 순서도 없음(대체적으로는 abc순으로 보여주나 순서가 없음)

순서가 필요하다면 절대 map에 넣으면 안됨 !!

set은 중복을 안받지만 key는 중복이 들어오면 그냥 덮어써버림

 

hash map

제네릭 2개 선언함

hash map(string, string)

key값으로 value를 찾아올 수 있음 (검색 가능)

 

Map의 전체값 가져오는 방법 3가지

1. key만 따로set으로 꺼내오고 iterator로 하나씩 분리하고 get(key)로 value값 가져오기

public void list() throws ServletException, IOException {
		//map의 전체 값 뽑아내기 -1
		//key값 set에 담아줌
		
		  Set<String> keys = map.keySet();
		 
		//iterator로 하나씩 분리 -> 담아주기
		Iterator<String> iter = keys.iterator();
		while(iter.hasNext()) {
			String key = iter.next();
			int score = map.get(key);
			System.out.println(key+" : "+ score);
		}

 

2. key와 value를 한 쌍으로 entry<>로 가져와서 set에 담아옴 -> iterator로 뽑아서 get(key)와 get(value)가져옴

 

insert요청이 오면 model에서 컨텍스트 경로를 포함한 list로 넘어가고 얘는 모델의 list 넘어가서

arraylist 만들고 향상된 for문으로 key값을 뽑고 add하고 index.jsp로 보냄

 

3. 향상된 for문 사

 

java I.O

자바 프로그램을 기준으로 안으로 들어오는 데이터 : 인풋스트림

밖으로 나가는 데이터 : 아웃풋 스트림

Reader:문자열을 읽어들이는거구나!

 

파일을 다루는게 우리 목적 -> 파일 객체 생성이 제일 먼저 이뤄져야 함

 

다른 사람 ip에 접속해서 파일, 폴더 만들기

다른 컴 ip알아내고 (cmd에서 ipconfig)

포트 앞에 넣고, contextpath 제외한 주소 지우고, 엔터 치면서 입장 한 번 하고

그다음에 생성 버튼 누르기

 


컨트롤러에서 model 객체화시 매개변수가 들어가는 이유는?

controller에 model 객체화할 때 원랜 매개변수 안들어가는데 여긴 들어감 그 이유는???

왜넣음?

간단히 : 컨트롤러가 하는 일을 model 시키기 위해

자세히 : 파라메터받으려면 erq가 필요하고, 특정페이지로 보내려면 req와 resp가 필요함. 이게 있어야 컨트롤러의 일을 대신할 수가 있는거임 그래서! model 객체화할때 쟤를 넘겨주는거임

model시작하자마 req, resp를 받아왔지만 쟤는 코드블럭이 끝나면 사라지잖아

그래서 class 코드블럭에 req, resp를 새로 선언하고 각각 넣어줌

 

req를 받아왔기 때문에 req.getParameter이 가능해진겨

 

-index.jsp

<c:forEach items="${list}" var="key"> <!-- //key라는 변수에 하나씩 담은 것 -->
		<tr>
            <td>${key }</td>
            <td>
		<button onclick="window.open('view?key=${key}','','width=255,height=100')">
		<!-- view라는 요청에 key 파라메터 값에 key를 넣어준다 -->
		성적확인
		</button>
		</td>
		<td>
			<a href="remove?key=${key}">삭제</a>
		</td>
			</tr>
					
</c:forEach>

view라는 요청에 key 파라메터 값에 key를 넣어준다.