598
No
// 1 방법
//맵.entrySet() 맵의 key, value 집합 리턴
for(Map.Entry<String, Object> m: map.entrySet()){
String key =m.getKey(); // key 조회
Object value=m.getValue(); // value 조회
System.out.println("key="+ key +", value =" +value);
}
System.out.println();
//2 방법
//맵.keySet() : key 의 집합
//키값 만 뽑고 싶을 때
for(String key : map.keySet()){
System.out.println(key);
//값을 구할때
System.out.println(key +"===>"+map.get(key));
}
System.out.println();
//3 방법
//Iterator<자료형> 반복 처리 객체
//map.keySet() 맵의 키 집합
//map.valueSet() 맵의 value 집합
Iterator<String> iterator =map.keySet().iterator();
while(iterator.hasNext()){ //다음 요소가 있으면
String key =iterator.next(); // 다음 요소의 값
System.out.println("key = " + key + ", value="+ map.get(key));
}
System.out.println();
//맵에 저장 된 리스트 출력
List<Student> list2 =(List<Student>)map.get("student_list");
Collections.sort(list2);
System.out.println("학번\t이름\t전공\t학년");
for(Student st: list2){
System.out.print(st.getNum()+"\t");
System.out.print(st.getName()+"\t");
System.out.print(st.getMajor()+"\t");
System.out.print(st.getYear()+"\n");
}
정렬을 위해 추가 Collections.sort(list2);
@Override
public int compareTo(Student o) {
//Integer.parseInt(문자열) 문자열을 숫자로 변환
int num1 =Integer.parseInt(num);
int num2=Integer.parseInt(o.getNum());
// -1 작다, 0 같다, 1 크다
return num1-num2;
}
class Student
package java15;
//컬렉션을 이용한 정렬 처리를 위해서는
//Comparable 인터페이스를 구현해야 함
public class Student implements Comparable<Student>{
private String num;
private String name;
private String major;
private int year;
public Student() {
super();
}
public Student(String num, String name, String major, int year) {
super();
this.num = num;
this.name = name;
this.major = major;
this.year = year;
}
public String getNum() {
return num;
}
public void setNum(String num) {
this.num = num;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getMajor() {
return major;
}
public void setMajor(String major) {
this.major = major;
}
public int getYear() {
return year;
}
public void setYear(int year) {
this.year = year;
}
@Override
public String toString() {
return "Student [num=" + num + ", name=" + name + ", major=" + major + ", year=" + year + "]";
}
@Override
public int compareTo(Student o) {
//Integer.parseInt(문자열) 문자열을 숫자로 변환
int num1 =Integer.parseInt(num);
int num2=Integer.parseInt(o.getNum());
// -1 작다, 0 같다, 1 크다
return num1-num2;
}
}
class MapTest2
package java15;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
//Map 에 List 추가
public class MapTest2 {
public static void main(String[] args) {
//리스트 생성
List<Student> list=new ArrayList<>();
//리스트에 자료 추가
list.add(new Student("004","kim","전산", 2));
list.add(new Student("002","park","경영", 1));
list.add(new Student("003","hong","국문", 3));
list.add(new Student("001","lee","영문", 4));
list.add(new Student("005","choi","국사", 1));
//맵 생성
Map<String, Object> map=new HashMap<>();
//맵에 리스트 추가
map.put("student_list", list);
//System.out.println(map);
map.put("title", "학생목록");
map.put("date", "2017-02-28");
//순서대로 출력되지 않음
System.out.println(map);
System.out.println();
// 1 방법
//맵.entrySet() 맵의 key, value 집합 리턴
for(Map.Entry<String, Object> m: map.entrySet()){
String key =m.getKey(); // key 조회
Object value=m.getValue(); // value 조회
System.out.println("key="+ key +", value =" +value);
}
System.out.println();
//2 방법
//맵.keySet() : key 의 집합
//키값 만 뽑고 싶을 때
for(String key : map.keySet()){
System.out.println(key);
//값을 구할때
System.out.println(key +"===>"+map.get(key));
}
System.out.println();
//3 방법
//Iterator<자료형> 반복 처리 객체
//map.keySet() 맵의 키 집합
//map.valueSet() 맵의 value 집합
Iterator<String> iterator =map.keySet().iterator();
while(iterator.hasNext()){ //다음 요소가 있으면
String key =iterator.next(); // 다음 요소의 값
System.out.println("key = " + key + ", value="+ map.get(key));
}
System.out.println();
//맵에 저장 된 리스트 출력
List<Student> list2 =(List<Student>)map.get("student_list");
Collections.sort(list2);
System.out.println("학번\t이름\t전공\t학년");
for(Student st: list2){
System.out.print(st.getNum()+"\t");
System.out.print(st.getName()+"\t");
System.out.print(st.getMajor()+"\t");
System.out.print(st.getYear()+"\n");
}
}
}
/*
출력값
{date=2017-02-28, student_list=[Student [num=001, name=kim, major=전산, year=2],
Student [num=002, name=park, major=경영, year=1],
Student [num=003, name=hong, major=국문, year=3], Student [num=004, name=lee, major=영문, year=4],
Student [num=005, name=choi, major=국사, year=1]], title=학생목록}
key=date, value =2017-02-28
key=student_list, value =[Student [num=001, name=kim, major=전산, year=2], S
tudent [num=002, name=park, major=경영, year=1], Student [num=003, name=hong, major=국문, year=3],
Student [num=004, name=lee, major=영문, year=4], Student [num=005, name=choi, major=국사, year=1]]
key=title, value =학생목록
date
date===>2017-02-28
student_list
student_list===>[Student [num=001, name=kim, major=전산, year=2], Student [num=002, name=park, major=경영, year=1],
Student [num=003, name=hong, major=국문, year=3], Student [num=004, name=lee, major=영문, year=4],
Student [num=005, name=choi, major=국사, year=1]]
title
title===>학생목록
key = date, value=2017-02-28
key = student_list, value=[Student [num=001, name=kim, major=전산, year=2],
Student [num=002, name=park, major=경영, year=1], Student [num=003, name=hong, major=국문, year=3],
Student [num=004, name=lee, major=영문, year=4], Student [num=005, name=choi, major=국사, year=1]]
key = title, value=학생목록
학번 이름 전공 학년
001 lee 영문 4
002 park 경영 1
003 hong 국문 3
004 kim 전산 2
005 choi 국사 1
*/
class Sort
package java15;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class Sort {
public static void main(String[] args) {
String[] sample={"i","milk", "the", "line" };
//Arrays.asList(배열) 배열을 리스트로 변환
// List<String> list=new ArrayList<>();
// for(String s : sample){
// list.add(s);
// }
// => 간단하게 처리
List<String> list=Arrays.asList(sample);
//Collections.sort(리스트) 리스트의 내용을 정렬
Collections.sort(list);
System.out.println(list);
}
}
댓글 ( 4)
댓글 남기기