본문 바로가기

JAVA

ArrayList (리스트) + Generics<> (제네릭스)

import java.util.ArrayList; - 기능 호출

 

ArrayList 입력 방법 2가지

 

첫 번째

ArrayList animal = new ArrayList();

두 번째 (Generics)  *이걸로 사용 권장

ArrayList<String> animal = new ArrayList<>();

<> 안에 타입을 넣어 정확하게 명시 해주는거 

참조 타입만 가능

단! <Integer> 타입에 문자열 넣거나 하는 방법은 안됨! 타입에 맞게 해야함 !


기능소개

add - 리스트 내용을 저장 / 특정 위치에 저장도 가능

 

import java.util.ArrayList;

public class zzzz {
    public static void main(String[] args) {

        ArrayList<String> animal = new ArrayList<>();

        animal.add("코끼리");
        animal.add("호랑이");
        animal.add("얼룩말");

        animal.add(3, "너구리"); //4번 째에 "너구리" 저장
    }
}

get - 리스트 내용을 호출

 

import java.util.ArrayList;

public class zzzz {
    public static void main(String[] args) {

        ArrayList<String> animal = new ArrayList<>();

        animal.add("코끼리");
        animal.add("호랑이");
        animal.add("얼룩말");
        animal.add(3, "너구리"); 

        System.out.println(animal.get(3)); // 리스트 안에 내용을 호출 할려면 get 통해서 가능
    }
}

size - 리스트 안에 몇 개가 있는지 호출 / 정수 값

 

import java.util.ArrayList;

public class zzzz {
    public static void main(String[] args) {

        ArrayList<String> animal = new ArrayList<>();

        animal.add("코끼리");
        animal.add("호랑이");
        animal.add("얼룩말");
        animal.add(3, "너구리");

        System.out.println(animal.size()); // 리스트 안에 몇 개 있는지 확인하려면 size
    }
}
//4

contains - 입력 값이 리스트 안에 있는지 확인 가능 / 논리 값

 

import java.util.ArrayList;

public class zzzz {
    public static void main(String[] args) {

        ArrayList<String> animal = new ArrayList<>();

        animal.add("코끼리");
        animal.add("호랑이");
        animal.add("얼룩말");
        animal.add(3, "너구리");

        System.out.println(animal.contains("너구리"));
        System.out.println(animal.contains("고양이"));
    }
}
//true
//false

remove - 2개로 나뉜다 / remove(객체) / remove(인덱스)

remove(객체) - 리스트 안에 어떤 내용을 지울지 / 논리 값

 

import java.util.ArrayList;

public class zzzz {
    public static void main(String[] args) {

        ArrayList<String> animal = new ArrayList<>();

        animal.add("코끼리");
        animal.add("호랑이");
        animal.add("얼룩말");
        animal.add(3, "너구리");

        System.out.println(animal.remove("너구리"));  //리스트에 있으면 true
        System.out.println(animal.remove("고양이"));  //없으면 false
    }
}
//true
//false

 

remove(인덱스) - n번 째 리스트를 지울지 / 삭제 된 문자열 값

 

import java.util.ArrayList;

public class zzzz {
    public static void main(String[] args) {

        ArrayList<String> animal = new ArrayList<>();

        animal.add("코끼리");
        animal.add("호랑이");
        animal.add("얼룩말");
        animal.add(3, "너구리");

        System.out.println(animal.remove(3));  
        //리스트 내에 몇 번째 있는걸 지울지 값은 삭제된 문자열 출력

    }
}
//너구리

다양한 방법으로 ArrayList 만들기도 가능

 

import java.util.Arrays; 기능 호출을 통해 아래와 같은 방법으로 가능

 

import java.util.ArrayList;
import java.util.Arrays;

public class zzzz {
    public static void main(String[] args) {

        String[] animal = {"코끼리", "호랑이", "얼룩말", "너구리"}; //이미 있는 배열도 사용 가능
        ArrayList<String> zoo = new ArrayList<>(Arrays.asList(animal)); //Arrays.asList 기능을 사용해 추가
        System.out.println(zoo);


    }
}
//[코끼리, 호랑이, 얼룩말, 너구리]

 

또한 문자열을 여러 개 추가도 가능

import java.util.ArrayList;
import java.util.Arrays;

public class zzzz {
    public static void main(String[] args) {

        ArrayList<String> zoo = new ArrayList<>(Arrays.asList("하마", "기린", "말"));
        //Arrays.asList 기능을 사용해 문자열 여러 개 추가 가능

        System.out.println(zoo);


    }
}
//[하마, 기린, 말]

String.join(); - ("구분자", 리스트객체); 형식으로 구분자를 추가할 수 있음 *구분자 - , : ; 등등

 

import java.util.ArrayList;
import java.util.Arrays;

public class zzzz {
    public static void main(String[] args) {

        ArrayList<String> zoo = new ArrayList<>(Arrays.asList("하마", "기린", "말"));
        String animal = String.join(":", zoo);  //배열에 구분자를 추가해 출력도 가능 - , : ; 등등

        System.out.println(animal);


    }
}
//하마:기린:말

*배열에서도 사용 가능


리스트 정렬하기

 

import java.util.Comparator; - 기능 호출

 

sort - 리스트 정렬 메소드

 

sort(comparator.naturalOrder()); - 오름차순으로 정렬

 

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;

public class zzzz {
    public static void main(String[] args) {

        ArrayList<String> zoo = new ArrayList<>(Arrays.asList("하마", "기린", "말"));
        zoo.sort(Comparator.naturalOrder());

        System.out.println(zoo);
        
    }
}
//[기린, 말, 하마]

 

sort(comparator.reverseOrder()); - 내림차순으로 정렬

 

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;

public class zzzz {
    public static void main(String[] args) {

        ArrayList<String> zoo = new ArrayList<>(Arrays.asList("하마", "기린", "말"));
        zoo.sort(Comparator.reverseOrder());

        System.out.println(zoo);

    }
}
//[하마, 말, 기린]

 


List.of - 수정 불가한 List 

 

List<String> list = new ArrayList<>();
list.add("java");
list.add("spring");
list.add("css");

list.remove(1); // 수정 가능

// 수정 불가 리스트 만들기
List<String> list2 = List.of("java", "spring", "css");

list2.add("html"); // 오류 발생
list2.remove(1);  // 오류 발생

// 만약 수정을 원하는 경우
List<String> list3 = new ArrayList<>(list2);

list3.add("html") // 추가 가능

'JAVA' 카테고리의 다른 글

switch/case  (0) 2022.10.13
if (참, 거짓)  (0) 2022.10.13
형 변환, final  (0) 2022.10.12
Set (집합)  (0) 2022.10.11
Map (Key, Value)  (0) 2022.10.11