자바

 

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

 

 

 

 

 

about author

PHRASE

Level 60  머나먼나라

행복한 결혼생활을 위해 함께 신앙 생활에 힘쓰라.

댓글 ( 4)

댓글 남기기

작성