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 |
댓글