Day6-엑셀 객체화 시키기

박경희·2023년 5월 30일
0

강의 복습 및 정리

목록 보기
12/38

1.엑셀 객체화 시키기

package Day5;

import java.util.*;

public class Example4 {
    public static void main(String[] args) {
        //정렬() -> 코테때도 중요
        Map<String, List<Person4>> map = new HashMap<>();
        String excel = "수\t이름\t나이\n" +
                "1\t박\t20\n" +
                "2\t김\t30\n" +
                "3\t이\t40\n" +
                "4\t권\t비공개\n";
//        \n - 쪼갠다.
        String[] arr = excel.split("\n");               //1.
        List<String[]> list = new ArrayList<>();                //3.
        for (int i =0; i< arr.length; i++){                     //2.
            list.add(arr[i].split("\t"));                   //4.
        }
        System.out.println(Arrays.toString(list.get(0)));
class Person0{
    private int num;
    private String name;
    private Integer age;
    public  Person0(int num, String name, Integer age){
        this.age = age;
        this.name = name;
        this.num = num;

-> 여기까지는 이렇게 출력됨.[수, 이름, 나이] 우선 이렇게 틀을 만들고~

package Day5;

import java.util.*;

public class Example4 {
    public static void main(String[] args) {
        //정렬() -> 코테때도 중요
        Map<String, List<Person4>> map = new HashMap<>();
        String excel = "수\t이름\t나이\n" +
                "1\t박\t20\n" +
                "2\t김\t30\n" +
                "3\t이\t40\n" +
                "4\t권\t비공개\n";
//        \n - 쪼갠다.
        String[] arr = excel.split("\n");               //1.
        //각 줄에 \t 쪼갠다.
        List<String[]> list = new ArrayList<>();                //3.
        for (int i = 0; i < arr.length; i++) {                     //2.
            list.add(arr[i].split("\t"));                   //4.
        }
//      5.데이터를 담을 클래스를 만든다.
        System.out.println(Arrays.toString(list.get(1)));
    }
}

class Person0{
    private int num;
    private String name;
    private Integer age;
    public  Person0(int num, String name, Integer age){
        this.age = age;
        this.name = name;
        this.num = num;
    }
}

Q1.최종.

package Day5;

import java.util.*;

public class Example4 {
    public static void main(String[] args) {
        //정렬() -> 코테때도 중요
        Map<String, List<Person0>> map = new HashMap<>();
        String excel = "수\t이름\t나이\n" +
                "1\t박\t20\n" +
                "2\t김\t30\n" +
                "3\t이\t40\n" +
                "4\t권\t비공개\n";
//        \n - 쪼갠다.
        String[] arr = excel.split("\n");               //1.
        //각 줄에 \t 쪼갠다.
        List<String[]> list = new ArrayList<>();                //3.
        for (int i = 1; i < arr.length; i++) {                     //2.
            list.add(arr[i].split("\t"));                   //4.
        }
//      6. 넣고 출력하기만 하면 된다.
//        System.out.println(Arrays.toString(list.get(1)));
        List<Person0> answer = new ArrayList<Person0>();
        for (int i = 0; i < list.size(); i++){
            String[] get = list.get(i);
            Person0 person0 = new Person0(Integer.parseInt(get[0]),
                    get[1],
                    get[2]
                    );
            answer.add(person0);
        }
        //7. 출력 하니 주소값이 나와서 toString 처리해준다.
        System.out.println(answer);
    }
}

class Person0{ //5.데이터를 담을 클래스를 만든다.
    private int num;
    private String name;
    private Integer age;

    @Override
    public String toString() {
        return "Person0{" +
                "num=" + num +
                ", name='" + name + '\'' +
                ", age=" + age +
                '}';
    }

    public  Person0(int num, String name, String age){
        if (!age.equals("비공개")) this.age = Integer.parseInt(age);
        this.name = name;
        this.num = num;

    }
}

이렇게 하면  이렇게 나열되서 출력이 된다.
이렇게 해줘서 담아야한다.


그래야 이렇게 목록으로 볼 수 있게 출력된다.

0개의 댓글