TIL

Til(3)

류정근 2024. 4. 23. 22:30

오늘은 대부분 강의를 듣는데에 시간을 할애했다.

내가 제일 약한 부분이 배열이란 것을 N queen을 풀다가 느껴서 배열부분을 확실하게 하기 위해 인텔리제이에 정리를 하면서 들었다.

 

2차원 배열 !!

package sparta_java_2.array;

public class Array6 {
    public static void main(String[] args) {
        // 가변 배열
        int[][] array = new int[3][];

        // 배열 원소마다 각기 다른 크기로 지정
        array[0] = new int[2];
        array[1] = new int[4];
        array[2] = new int[1];

        //중괄호로 초기화를 아예 해버릴 때도 가능함!!

        int[][] array2 = {
                {10 ,20},
                {10,20,30,40},
                {10},
        };

        for (int i = 0; i < array2.length; i++) {
            for (int j = 0; j < array2[i].length; j++) {
                System.out.println(array2[i][j]);
            }
        }


    }
}

 

List !!

package sparta_java_2;

import java.util.ArrayList;

public class List {
    public static void main(String[] args) {
        //List
        //순서가 있는 데이터의 집합 => Array(최초 길이를 알아야함)
        //처음에 길이를 몰라도 만들 수 있음!
        // 1) Array -> 정적배열
        // 2) List(ArrayList) -> 동적배열(크기가 가변적으로 늘어난다)
        // -생성 시점에 작은 연속된 공간을 요청해서 참조형 변수들을 담아놓는다.
        // -값이 추가될 때 더 큰 공간이 필요하면 더 큰 공간을 받아서 저장하니깐. 상관없다!!

        ArrayList<Integer> intList = new ArrayList<Integer>(); //선언 + 생성
        intList.add(99);
        intList.add(15);
        intList.add(3);

        System.out.println(intList.get(1));

        //2번째 있는 값(15)을 바꿔보자.
        intList.set(1,10);
        System.out.println(intList.get(1));


        System.out.println(intList.get(0));
        //삭제
        intList.remove(0);
        System.out.println(intList.get(0));

        //전체 삭제
        intList.clear();
        //전체 출력
        System.out.println(intList.toString());

    }
}

 

Queue

package sparta_java_2;

import java.util.LinkedList;
import java.util.Queue;

public class Queue1 {
        public static void main(String[] args) {
            // Queue : FIFO
            // add, peak(조회) , poll(꺼내기)
            // Queue : 생성자가 없는 인터페이스 <-

            Queue<Integer> intQueue = new LinkedList<>(); // queue를 선언,생성
            intQueue.add(1);
            intQueue.add(5);
            intQueue.add(9);

            while (!intQueue.isEmpty()) {
                System.out.println(intQueue.poll());
            }

            System.out.println(intQueue.peek()); // null

            //다시추가
            intQueue.add(1);
            intQueue.add(5);
            intQueue.add(9);

            //peak
            System.out.println(intQueue.peek());
            System.out.println(intQueue.size());



        }
    }

 

Stack!!

package sparta_java_2;

import java.util.LinkedList;
import java.util.Queue;

public class Stack {

    public static void main(String[] args) {
        //stack
        //수직으로 값을 쌓아놓고, 넣었다가 뺀다. FILO(Basket)
        //push, peak, pop
        //최근 저장된 데이터를 나열하고 싶거나, 데이터의 중복 처리를 막고 싶을 때 사용
        java.util.Stack<Integer> intStack = new java.util.Stack<Integer>(); //선언 및 생성

        intStack.push(10);
        intStack.push(15);
        intStack.push(1);

        // 다 지워질 때 까지 출력

        while (!intStack.isEmpty()) {
            System.out.println(intStack.pop()); // 바스켓의 맨 위의 것 빼주기
        }

        //다시 추가

        intStack.push(10);
        intStack.push(15);
        intStack.push(1);

        //peak
        System.out.println(intStack.peek()); // 그냥 조회만 하기
        System.out.println(intStack.size());

    }


}

 

Set!!

package sparta_java_2;

import java.util.HashSet;
import java.util.Set;

public class Set1 {
    public static void main(String[] args) {
        //Set(집합) : 순서 없고, 중복 없음!!
        //순서가 보장되지 않는 대신 중복을 허용하지 않도록 하는 프로그램에서 사용 할 수 있는 자료구조
        //Set -> 그냥 쓸수도 있음 ,그러나 , HashSet,TreeSet 등으로 응용해서 같이 사용 가능
        //Set은 생성자가 없는 껍데기라서 바로 생성할 수 없음!!
        //생성자가 존재하는 HashSet을 이용해서 -> Set을 구현해 볼 수 있다.

        Set<Integer> intSet = new HashSet<>();

        intSet.add(1);
        intSet.add(12);
        intSet.add(5);
        intSet.add(9);
        intSet.add(1);
        intSet.add(12);

        for (Integer value : intSet) {
            System.out.println(value);
        }

        //contains 해당값을 포함하면 true, 아니면 false를 반환
        System.out.println(intSet.contains(2));
        System.out.println(intSet.contains(5));
    }
}

 

Map!!

package sparta_java_2;

import java.util.HashSet;
import java.util.Set;

public class Set1 {
    public static void main(String[] args) {
        //Set(집합) : 순서 없고, 중복 없음!!
        //순서가 보장되지 않는 대신 중복을 허용하지 않도록 하는 프로그램에서 사용 할 수 있는 자료구조
        //Set -> 그냥 쓸수도 있음 ,그러나 , HashSet,TreeSet 등으로 응용해서 같이 사용 가능
        //Set은 생성자가 없는 껍데기라서 바로 생성할 수 없음!!
        //생성자가 존재하는 HashSet을 이용해서 -> Set을 구현해 볼 수 있다.

        Set<Integer> intSet = new HashSet<>();

        intSet.add(1);
        intSet.add(12);
        intSet.add(5);
        intSet.add(9);
        intSet.add(1);
        intSet.add(12);

        for (Integer value : intSet) {
            System.out.println(value);
        }

        //contains 해당값을 포함하면 true, 아니면 false를 반환
        System.out.println(intSet.contains(2));
        System.out.println(intSet.contains(5));
    }
}

'TIL' 카테고리의 다른 글

상속 정복하기  (0) 2024.04.27
계산기 만들기  (3) 2024.04.26
TIL(4)  (4) 2024.04.24
TIL(2)  (0) 2024.04.22
내일배움캠프 4일차 TIL + 프로젝트를 하며 배운점!!  (0) 2024.04.19