반응형
더보기

배열을 이용해서

단점 :삽입, 삭제를 할때 정렬(빈공간을 매워주거나, 빈공간을 만들어주거나)할때 시간이 많이 걸린다.

장점 : GET! 가져올때 편하다.

ArrayList

빵간동글맹이: 제너릭? 이라고한다. 미리 지정할 수 있는 것.

 

ADD

package com.company;

import java.util.ArrayList;

public class Main {

    public static void main(String[] args){

        //어레이리스트를 만들어준다.
        ArrayList<Integer> numbers = new ArrayList<>();
        //add를 사용해 값을 넣어준다.
        numbers.add(1);
        numbers.add(4);
        numbers.add(8);
        numbers.add(7);
        //프린트
        System.out.println(numbers);

        //값 낑겨넣기
        numbers.add(2, 5);
        //다시 프린트
        System.out.println(numbers);
    }
}

출력:
[1, 4, 8, 7]
[1, 4, 5, 8, 7]


numbers.add(2, 5);

인자를 받는데, 첫번쨰는 위치(*인덱스는 0부터 센다.), 두번째는, 값

=============================================

 

REMOVE

package com.company;

import java.util.ArrayList;

public class Main {

    public static void main(String[] args){

        //어레이리스트를 만들어준다.
        ArrayList<Integer> numbers = new ArrayList<>();
        //add를 사용해 값을 넣어준다.
        numbers.add(1);
        numbers.add(4);
        numbers.add(8);
        numbers.add(7);
        //프린트
        System.out.println(numbers);

        //값 낑겨넣기
        numbers.add(2, 5);
        //다시 프린트
        System.out.println(numbers);

        numbers.remove(2);
        System.out.println(numbers);
    }
}


get.. size... 등등 사용.

=========================================

 

Iteration 반복 : it에 담기게 될 값은 이터레이터데이터 타입임. = 이터레이터의 데이터타입 : 인터페이스

 

package com.company;

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

public class Main {

    public static void main(String[] args){


        ArrayList<Integer> numbers = new ArrayList<>();

        numbers.add(1);
        numbers.add(4);
        numbers.add(8);
        numbers.add(7);

        //반복문 만들기?
        Iterator it = numbers.iterator();

        while(it.hasNext()){
            int value = (int) it.next();
            System.out.println(value);
        }

    }
}

결과:
1
4
8
7

 

ㄹ 코드 넣고, 왜 바로 한글이 안써지는겨 ;;

 

반복문인 Iterator를 내가 이해한대로 설명을 하자면,

Iterator이라는 타입을 변수 it에넣을 건데, numbers.iterator()를 이용할 거다.

numbers는 ArrayList이고, 값이 들어가 있다.

while을 사용해 만약 it가 hasNext(iterator의 메소드중 하나, 값이있으면 true, 없으면 false까지만~~~반환함)

그리고 그 값을 value에 넣을건데, it.next(이것을 이용해서 int로 받아서 while을 돌려준다(true true true true false))

 

*난 설명 존나 못하는거 같다. 이해안되면,  생활코딩 보시길 추천 ㅜ

package com.company;

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

public class Main {

    public static void main(String[] args){


        ArrayList<Integer> numbers = new ArrayList<>();

        numbers.add(1);
        numbers.add(4);
        numbers.add(8);
        numbers.add(7);

        //반복문 만들기?
        for(int value:numbers){
            System.out.println(value);
        }

    }
}


결과:
1
4
8
7

ㅇ 위에 Iterator를 사용한것보다 훨~~씬 간편하다.

for문을 사용해서 값을 가져오는것인데 사용한 세미클론 : 은 python에서 사용해봤던 in이랑 똑같은 기능이다.

설명을 덧붙이자면

만약에 저 numbers의 값들이 있으면 value(변수)로 값을 하나씩하나씩(뽑기처럼 하나씩 뽑음ㅋ) 끄집어 내는거다.그게(:)의 역할이다.

반응형

+ Recent posts