본문 바로가기
JAVA

230104_Map

by 경 훈 2023. 1. 4.

Map ->키,값 한쌍으로

Map 구조는 반드시 키값을 알아야 값을 출력

 

package day23_CollectionTest;

import java.util.ArrayList;
import java.util.Iterator;

class MyinfoDTO {
	String name;
	int age;
	String address;
	public MyinfoDTO() {}
	public MyinfoDTO(String name, int age, String address) {
		super();
		this.name = name;
		this.age = age;
		this.address = address;
	}
	@Override
	public String toString() {
		return "MyinfoDTO [name=" + name + ", age=" + age + ", address=" + address + "]";
	}
}
public class ListTest {
	public static void main(String[] args) {
		ArrayList<MyinfoDTO> list = new ArrayList<MyinfoDTO>();
		//이름,나이,주소
		MyinfoDTO dto = new MyinfoDTO("홍길동",33,"경기도 수원시");
		list.add(dto);
		MyinfoDTO dto1 = new MyinfoDTO("한라산",22,"제주도 제주시");
		list.add(dto1);
		list.add(new MyinfoDTO("김세율",15,"서울시 강남구"));
		System.out.println("빠른for출력\n================");
		for(MyinfoDTO a:list) {
			System.out.println(a.toString());
		}
		System.out.println("람다식 출력\n================");
		list.forEach(a->System.out.println(a.toString()));
		System.out.println("for출력\n================");
		for(int i=0;i<list.size();i++) {
			MyinfoDTO p =list.get(i);
			System.out.println(p.toString());
		}
		System.out.println("이더레이터(Iterator) 출력\n======================");
		Iterator<MyinfoDTO> it = list.iterator();
		while(it.hasNext()) {
			MyinfoDTO p = it.next();
			System.out.println(p.toString());
		}
	}
}

 

package day23_CollectionTest;

import java.util.Iterator;
import java.util.Set;
import java.util.TreeMap;

class mapDTO {
	String name;
	int age;
}
public class TreeMapTest {
	public static void main(String[] args) {
		TreeMap<Integer, String> list = new TreeMap<Integer, String>();
		list.put(1, "일요일");
		list.put(2, "월요일");
		list.put(3, "화요일");
		list.put(4, "수요일");
		list.put(5, "목요일");
		list.put(6, "금요일");
		list.put(7, "토요일");
		// Map 구조는 반드시 키값을 알아야 값을 출력
		// 1.키만 모아서
		Set<Integer> kset = list.keySet(); // 키값만 모음
		Iterator<Integer> it = kset.iterator(); // 키값을 순차적으로 정리
		while(it.hasNext()) { //it 안에 객체가 존재하면
			Integer p = it.next(); // 키값을 넘겨받음
			String day = list.get(p); // 해당 키값의 문자열 값을 넘겨
			System.out.println(p+"\t"+day);
		}
	}
}

 

package day23_CollectionTest;

import java.util.Iterator;
import java.util.Set;
import java.util.TreeMap;

class mapDTO {
	String name;
	int age;
}
public class TreeMapTest {
	public static void main(String[] args) {
		TreeMap<Integer, String> list = new TreeMap<Integer, String>();
		list.put(1, "일요일");
		list.put(2, "월요일");
		list.put(3, "화요일");
		list.put(4, "수요일");
		list.put(5, "목요일");
		list.put(6, "금요일");
		list.put(7, "토요일");
		// Map 구조는 반드시 키값을 알아야 값을 출력
		// 1.키만 모아서
		Set<Integer> kset = list.keySet(); // 키값만 모음 ... 고유한값
		// 키 덩어리를 순차적 1개씩 나누는 역활
		Iterator<Integer> it = kset.iterator();
		// 키로 값을 찾기위해서 반복
		while(it.hasNext()) {
			Integer p = it.next(); // 키값을 알았으면.. 값을 가져올수 있음
			String sr = list.get(p); //값을 가져옴
			System.out.println(p+"\t"+sr);
		}
	}
}

 

package day23_CollectionTest;

import java.util.Iterator;
import java.util.Scanner;
import java.util.Set;
import java.util.TreeMap;

class mapDTO {
	String name;
	int age;
}
public class TreeMapTest {
	public static void main(String[] args) {
		TreeMap<Integer, String> list = new TreeMap<Integer, String>();
		list.put(1, "일요일");
		list.put(2, "월요일");
		list.put(3, "화요일");
		list.put(4, "수요일");
		list.put(5, "목요일");
		list.put(6, "금요일");
		list.put(7, "토요일");
		// Map 구조는 반드시 키값을 알아야 값을 출력
		// 1.키만 모아서
		Set<Integer> kset = list.keySet(); // 키값만 모음 ... 고유한값
		// 키 덩어리를 순차적 1개씩 나누는 역활
		Iterator<Integer> it = kset.iterator();
		// 키로 값을 찾기위해서 반복
		while(it.hasNext()) {
			Integer p = it.next(); // 키값을 알았으면.. 값을 가져올수 있음
			String sr = list.get(p); //값을 가져옴
			Scanner sc = new Scanner(System.in);
			System.out.println("날짜의 숫자를 입력하시오(1~7)");
			int n = sc.nextInt();
			String str = list.get(n);
			System.out.println("입력한 수 "+n+"는 "+str+"입니다.");
		}
	}
}

 

package day23_CollectionTest;

import java.util.Iterator;
import java.util.Scanner;
import java.util.Set;
import java.util.TreeMap;

public class TreeMapTest2 {

	public static void main(String[] args) {
		TreeMap<String, String> list = new TreeMap<String, String>();
		list.put("900101-1234567", "김김김");
		list.put("750505-2584444", "최최최");
		list.put("491030-1588567", "문문문");
		list.put("970208-2222333", "호호호");
		list.put("810505-1554444", "박박박");
		Set<String> kset = list.keySet();
		Iterator<String> it = kset.iterator();
		while(it.hasNext()) {
			String jumin = it.next();
			String name = list.get(jumin);
			System.out.println(jumin+"\t"+name);
		}
		System.out.println("=========================");
		System.out.println("찾을 이름의 주민번호를 입력하시오");
		Scanner sc = new Scanner(System.in);
		String fjumin = sc.next();
		String fname = list.get(fjumin);
		System.out.println("검색완료!! 찾은 이름의 정보를 확인하세요\n이름 : "+fname+"\n주민번호 : "+fjumin);
	}
}

 

package day23_CollectionTest;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.Set;
import java.util.TreeMap;

class SangDTO {
	String buseo,name;
	int mae;
	public SangDTO() {}
	public SangDTO(String buseo, String name, int mae) {
		super();
		this.buseo = buseo;
		this.name = name;
		this.mae = mae;
	}
	@Override
	public String toString() {
		return "SangDTO [buseo=" + buseo + ", name=" + name + ", mae=" + mae + "]";
	}
	public String getBuseo() {
		return buseo;
	}
	public void setBuseo(String buseo) {
		this.buseo = buseo;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getMae() {
		return mae;
	}
	public void setMae(int mae) {
		this.mae = mae;
	}
}
public class TreeMapTest3 {
	public static void main(String[] args) {
		//부서명, 이름, 매출액
		ArrayList<SangDTO> list = new ArrayList<SangDTO>();
		list.add(new SangDTO("인사과", "한라산", 30));
		list.add(new SangDTO("자재과", "백두산", 20));
		list.add(new SangDTO("총무과", "광교산", 33));
		list.add(new SangDTO("재무과", "솔나무", 40));
		list.add(new SangDTO("영업과", "설악산", 15));
		//부서명을 k 로 하고 , 무출액을 v로 한다.
		TreeMap<String, Integer> map = new TreeMap<String, Integer>();
		for(int i=0;i<list.size();i++) {
			map.put(list.get(i).getBuseo(),list.get(i).getMae());
		}
		//1. 키값을 모은다.
		Set<String> kset = map.keySet();
		//2. 모은 키 값들을 다시 순차적으로 정리
		Iterator<String> it = kset.iterator();
		//3. 반복하면서 키값을 가져온다. 키 값으로 값을 가져올수 있기 때문에
		while(it.hasNext()) {
			String bb = it.next();
			Integer kk = map.get(bb);
			System.out.println(bb+"\t"+kk);
		}
	}
}

 

package day23_CollectionTest;

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Set;
import java.util.TreeMap;

class DTO {
	int ban,number;
	String name;
	int score;
	public DTO() {}
	public DTO(int ban, int number, String name, int score) {
		super();
		this.ban = ban;
		this.number = number;
		this.name = name;
		this.score = score;
	}
	@Override
	public String toString() {
		return "DTO [ban=" + ban + ", number=" + number + ", name=" + name + ", score=" + score + "]";
	}
	public int getBan() {
		return ban;
	}
	public void setBan(int ban) {
		this.ban = ban;
	}
	public int getNumber() {
		return number;
	}
	public void setNumber(int number) {
		this.number = number;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getScore() {
		return score;
	}
	public void setScore(int score) {
		this.score = score;
	}
}
public class TreeMapTest4 {
	public static void main(String[] args) throws FileNotFoundException {
		//DTO 구조 반1번호2이름3점수3 => list
		//map 구조 반,점수
		ArrayList<DTO> list = new ArrayList<DTO>();
		FileReader fr = new FileReader("c:/data/01041.txt");
		BufferedReader br =new BufferedReader(fr);
		while(true) {
			try {
				DTO dto = new DTO(); 
				String str = br.readLine();
				if(str==null)break;
				dto.setBan(Integer.parseInt(str.substring(0, 1)));
				dto.setNumber(Integer.parseInt(str.substring(1, 3)));
				dto.setName(str.substring(3, 6));
				dto.setScore(Integer.parseInt(str.substring(6, 9)));
				list.add(dto);
			}
			catch (IOException e) {
				e.printStackTrace();
			}	
		}
		TreeMap<Integer, Integer> map = new TreeMap<Integer, Integer>();
		for(int i=0;i<list.size();i++) {
			map.put(list.get(i).getBan(), list.get(i).getScore());
		}
		Set<Integer> kset = map.keySet();
		Iterator<Integer> it = kset.iterator();
		while(it.hasNext()) {
			Integer ban = it.next();
			Integer score = map.get(ban);
			System.out.println(ban+"\t"+score);
		}
	}
}

 

package day23_CollectionTest;

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Scanner;
import java.util.Set;
import java.util.TreeMap;

class SampleDTO {
	String id,pw,name;
	int age;
	public SampleDTO() {}
	public SampleDTO(String id, String pw, String name, int age) {
		super();
		this.id = id;
		this.pw = pw;
		this.name = name;
		this.age = age;
	}
	@Override
	public String toString() {
		return "SampleDTO [id=" + id + ", pw=" + pw + ", name=" + name + ", age=" + age + "]";
	}
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getPw() {
		return pw;
	}
	public void setPw(String pw) {
		this.pw = pw;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}	
}
public class TreeMapTest5 {
	public static void main(String[] args) throws FileNotFoundException {
		//아이디,패스워드,이름,나이 ->화일처리 map구조
		ArrayList<SampleDTO> list = new ArrayList<SampleDTO>();
		FileReader fr = new FileReader("c:/data/01042.txt");
		BufferedReader br = new BufferedReader(fr);
		while(true) {
			try {
				String str = br.readLine();
				if(str==null)break;
				SampleDTO dto = new SampleDTO();
				dto.setId(str.substring(0, 5));
				dto.setPw(str.substring(5, 10));
				dto.setName(str.substring(10, 13));
				dto.setAge(Integer.parseInt(str.substring(13, 15)));
				list.add(dto);
			}
			catch (IOException e) {
				e.printStackTrace();
			}
		}
		TreeMap<String, String> map = new TreeMap<String, String>();
		for(int i=0;i<list.size();i++) {
			map.put(list.get(i).id, list.get(i).name);
		}
		Set<String> kset = map.keySet();
		Iterator<String> it =kset.iterator();
		while(it.hasNext()) {
			String aa = it.next();
			String bb = map.get(aa);
			System.out.println(aa+"\t"+bb);
		}
		System.out.println("=============\n");
		Scanner sc = new Scanner(System.in);
		System.out.println("아이디를 입력하시면 이름을 찾아드립니다");
		String aaa = sc.next();
		String bbb = map.get(aaa);
		Boolean yn = kset.contains(aaa);
		if(yn) {
			System.out.println(aaa+"의 아이디 주인은 "+bbb+"입니다");
		}
		else {
			System.out.println(aaa+"라는 아이디는 없습니다.");
		}
	}
}

'JAVA' 카테고리의 다른 글

230106_Map  (0) 2023.01.06
230105_Map  (0) 2023.01.05
230103_Collection  (0) 2023.01.03
230102_Thread  (0) 2023.01.02
221230_SingleTon  (0) 2022.12.30

댓글