RoBoLoG

[Java] Java에서 List<String> 사용 예시 본문

Study/Java

[Java] Java에서 List<String> 사용 예시

SKJun 2023. 6. 16. 16:50

Java에서 List<String>을 사용하는 예시를 알려드립니다!

 

1. 기본 예시: 요소의 생성, 추가 및 접근

import java.util.ArrayList;
import java.util.List;

public class ListExample {
    public static void main(String[] args) {
        // 새로운 List<String> 생성
        List<String> names = new ArrayList<>();

        // 리스트에 요소 추가
        names.add("Alice");
        names.add("Bob");
        names.add("Charlie");

        // 리스트의 요소에 접근
        System.out.println("리스트에 있는 이름들:");
        for (String name : names) {
            System.out.println(name);
        }

        // 리스트의 크기 확인
        int size = names.size();
        System.out.println("리스트의 크기: " + size);
    }
}
리스트에 있는 이름들:
Alice
Bob
Charlie
리스트의 크기: 3

 

  • 위 예시에서는 List<String>을 사용하여 names라는 이름의 리스트를 생성하고, 이 리스트에 여러 이름을 추가한 후에 리스트의 요소들에 접근하고 크기를 확인하는 방법을 보여주고 있습니다.

 

2. 리스트에 요소 추가 및 제거하기:

import java.util.ArrayList;
import java.util.List;

public class ListExample {
    public static void main(String[] args) {
        List<String> fruits = new ArrayList<>();

        // 리스트에 요소 추가
        fruits.add("Apple");
        fruits.add("Banana");
        fruits.add("Cherry");

        // 리스트의 요소 출력
        System.out.println("과일 리스트:");
        for (String fruit : fruits) {
            System.out.println(fruit);
        }

        // 리스트에서 요소 제거
        fruits.remove("Banana");
        System.out.println("Banana를 제거한 후:");
        for (String fruit : fruits) {
            System.out.println(fruit);
        }
    }
}
과일 리스트:
Apple
Banana
Cherry
Banana를 제거한 후:
Apple
Cherry

 

  • 리스트에 요소 추가: fruits.add("Apple");, fruits.add("Banana");, fruits.add("Cherry"); 이 부분들은 fruits 리스트에 "Apple", "Banana", "Cherry"라는 문자열을 각각 추가합니다.
  • 리스트에서 요소 제거: fruits.remove("Banana"); 이 부분은 fruits 리스트에서 "Banana" 문자열을 제거합니다.

 

3. 리스트에서 요소 검색:

import java.util.ArrayList;
import java.util.List;

public class ListExample {
    public static void main(String[] args) {
        List<String> colors = new ArrayList<>();

        colors.add("Red");
        colors.add("Green");
        colors.add("Blue");

        // 리스트에서 요소 검색
        String searchColor = "Green";
        if (colors.contains(searchColor)) {
            System.out.println(searchColor + "은(는) 리스트에 있습니다.");
        } else {
            System.out.println(searchColor + "은(는) 리스트에 없습니다.");
        }
    }
}
Green은(는) 리스트에 있습니다.

 

  • 리스트에서 요소 검색: String searchColor = "Green"; 이 부분은 검색할 색상을 "Green"으로 설정합니다. if (colors.contains (searchColor)) 구문은 colors 리스트가 searchColor 변수에 저장된 값("Green")을 포함하고 있는지 확인합니다. 만약 포함하고 있다면 "Green은(는) 리스트에 있습니다."라는 메시지를 출력하고, 그렇지 않다면 "Green은(는) 리스트에 없습니다."라는 메시지를 출력합니다.

 

4. 리스트를 배열로 변환하기:

import java.util.ArrayList;
import java.util.List;

public class ListExample {
    public static void main(String[] args) {
        List<String> animals = new ArrayList<>();

        animals.add("Lion");
        animals.add("Tiger");
        animals.add("Bear");

        // 리스트를 배열로 변환
        String[] animalArray = animals.toArray(new String[0]);
        System.out.println("동물 배열:");
        for (String animal : animalArray) {
            System.out.println(animal);
        }
    }
}
동물 배열:
Lion
Tiger
Bear

 

  • 리스트를 배열로 변환: String[] animalArray = animals.toArray(new String[0]); 이 부분은 animals 리스트를 String 타입의 배열로 변환합니다. toArray(new String[0]) 메소드는 리스트의 요소들을 새로운 String 배열에 복사합니다. 배열의 크기는 리스트의 크기에 맞게 자동으로 결정됩니다.

 

5. 리스트의 특정 위치에 요소 추가:

import java.util.ArrayList;
import java.util.List;

public class ListExample {
    public static void main(String[] args) {
        List<String> cities = new ArrayList<>();

        cities.add("New York");
        cities.add("Los Angeles");
        cities.add("Chicago");

        // 특정 위치에 요소 추가
        cities.add(1, "San Francisco");
        System.out.println("도시 리스트:");
        for (String city : cities) {
            System.out.println(city);
        }
    }
}
도시 리스트:
New York
San Francisco
Los Angeles
Chicago

 

  • 특정 위치에 요소 추가: cities.add(1, "San Francisco"); 이 부분은 cities 리스트의 두 번째 위치(인덱스 1)에 "San Francisco"라는 문자열을 추가합니다. add 메소드의 첫 번째 인자는 새 요소를 삽입할 위치의 인덱스를 나타내고, 두 번째 인자는 추가할 요소입니다.

 

6. 리스트의 모든 요소를 변경:

import java.util.ArrayList;
import java.util.List;
import java.util.Collections;

public class ListExample {
    public static void main(String[] args) {
        List<String> colors = new ArrayList<>();

        colors.add("Red");
        colors.add("Green");
        colors.add("Blue");

        // 리스트의 모든 요소 변경
        Collections.replaceAll(colors, "Green", "Yellow");

        System.out.println("색깔 리스트:");
        for (String color : colors) {
            System.out.println(color);
        }
    }
}
//print 결과//
색깔 리스트:
Red
Yellow
Blue

 

  • 리스트의 모든 요소 변경: Collections.replaceAll(colors, "Green", "Yellow"); 이 부분은 Collections 클래스의 replaceAll 메소드를 사용하여 colors 리스트 내의 모든 "Green" 문자열을 "Yellow"로 변경합니다.

 

7. 리스트를 역순으로 정렬:

import java.util.ArrayList;
import java.util.List;
import java.util.Collections;

public class ListExample {
    public static void main(String[] args) {
        List<String> names = new ArrayList<>();

        names.add("Alice");
        names.add("Bob");
        names.add("Charlie");

        // 리스트를 역순으로 정렬
        Collections.reverse(names);

        System.out.println("역순으로 정렬된 이름 리스트:");
        for (String name : names) {
            System.out.println(name);
        }
    }
}
역순으로 정렬된 이름 리스트:
Charlie
Bob
Alice

 

  • 리스트 역순 정렬: Collections.reverse(names);로 names 리스트의 요소 순서를 역순으로 정렬합니다. 이는 리스트의 첫 번째 요소와 마지막 요소를 서로 바꾸고, 그 다음으로 첫 번째에서 두 번째 요소와 마지막에서 두 번째 요소를 서로 바꾸는 식으로 진행됩니다.

 

8. 리스트를 정렬:

import java.util.ArrayList;
import java.util.List;
import java.util.Collections;

public class ListExample {
    public static void main(String[] args) {
        List<String> countries = new ArrayList<>();

        countries.add("Canada");
        countries.add("United States");
        countries.add("Mexico");

        // 리스트를 정렬
        Collections.sort(countries);

        System.out.println("정렬된 국가 리스트:");
        for (String country : countries) {
            System.out.println(country);
        }
    }
}
정렬된 국가 리스트:
Canada
Mexico
United States

 

  • 리스트 정렬: Collections.sort(countries);로 countries 리스트의 요소들을 알파벳 순으로 정렬합니다. Collections.sort 메소드는 리스트의 요소들을 자연 순서(문자열의 경우 알파벳 순서)에 따라 정렬합니다.

 

9. 리스트에서 중복 요소 제거:

import java.util.ArrayList;
import java.util.List;
import java.util.HashSet;

public class ListExample {
    public static void main(String[] args) {
        List<String> fruits = new ArrayList<>();

        fruits.add("Apple");
        fruits.add("Banana");
        fruits.add("Apple");
        fruits.add("Cherry");

        // 중복 요소 제거
        List<String> uniqueFruits = new ArrayList<>(new HashSet<>(fruits));

        System.out.println("중복 제거된 과일 리스트:");
        for (String fruit : uniqueFruits) {
            System.out.println(fruit);
        }
    }
}
중복 제거된 과일 리스트:
Apple
Banana
Cherry

 

  • 중복 요소 제거: List<String> uniqueFruits = new ArrayList<>(new HashSet<>(fruits));로 fruits 리스트의 내용을 HashSet에 넣어 중복을 제거하고, 그 결과를 새로운 ArrayList로 다시 변환합니다. HashSet은 중복된 요소를 허용하지 않으므로, 이를 사용하여 중복을 제거할 수 있습니다.

 

10. 리스트의 요소를 수정:

import java.util.ArrayList;
import java.util.List;

public class ListExample {
    public static void main(String[] args) {
        List<String> colors = new ArrayList<>();

        colors.add("Red");
        colors.add("Green");
        colors.add("Blue");

        // 리스트의 요소 수정
        colors.set(1, "Yellow"); // 인덱스 1의 요소를 "Yellow"로 수정

        System.out.println("색깔 리스트:");
        for (String color : colors) {
            System.out.println(color);
        }
    }
}
색깔 리스트:
Red
Yellow
Blue

 

  • 리스트의 요소 수정: colors.set(1, "Yellow");로 colors 리스트의 인덱스 1에 위치한 요소("Green")를 "Yellow"로 수정합니다. set 메소드는 지정된 인덱스에 있는 요소를 새로운 요소로 교체합니다.

 

11. 리스트의 특정 범위를 추출:

import java.util.ArrayList;
import java.util.List;

public class ListExample {
    public static void main(String[] args) {
        List<String> letters = new ArrayList<>();

        letters.add("A");
        letters.add("B");
        letters.add("C");
        letters.add("D");
        letters.add("E");

        // 리스트의 특정 범위를 추출
        List<String> subList = letters.subList(1, 4); // 인덱스 1부터 3까지의 요소 추출

        System.out.println("서브 리스트:");
        for (String letter : subList) {
            System.out.println(letter);
        }
    }
}
서브 리스트:
B
C
D

 

  • 리스트의 특정 범위 추출: List<String> subList = letters.subList(1, 4);로 letters 리스트의 인덱스 1부터 3까지의 요소를 추출하여 새로운 서브 리스트를 생성합니다. subList 메소드는 시작 인덱스(inclusive)와 끝 인덱스(exclusive)를 인자로 받아, 해당 범위에 속하는 요소들로 구성된 서브 리스트를 반환합니다.

 

12. 리스트의 요소 검색 및 인덱스 얻기:

import java.util.ArrayList;
import java.util.List;

public class ListExample {
    public static void main(String[] args) {
        List<String> fruits = new ArrayList<>();

        fruits.add("Apple");
        fruits.add("Banana");
        fruits.add("Cherry");

        // 리스트에서 요소 검색 및 인덱스 얻기
        String targetFruit = "Banana";
        int index = fruits.indexOf(targetFruit);

        if (index != -1) {
            System.out.println(targetFruit + "은(는) 리스트의 " + index + "번째에 있습니다.");
        } else {
            System.out.println(targetFruit + "은(는) 리스트에 없습니다.");
        }
    }
}
Banana은(는) 리스트의 1번째에 있습니다.

 

  • 리스트에서 요소 검색 및 인덱스 얻기: String targetFruit = "Banana";로 검색할 대상 과일을 "Banana"로 설정합니다. int index = fruits.indexOf(targetFruit);로 fruits 리스트에서 "Banana"의 인덱스를 찾습니다. indexOf 메소드는 리스트에서 주어진 요소의 인덱스를 반환하며, 요소가 리스트에 없으면 -1을 반환합니다.
  • 검색 결과 출력: if (index != -1) 조건문을 사용하여 "Banana"가 리스트에 존재하는 경우 해당 과일의 인덱스를 출력하고, 그렇지 않은 경우 리스트에 없음을 출력합니다. 이 경우 "Banana"는 리스트의 인덱스 1에 있으므로 "Banana은(는) 리스트의 1번째에 있습니다."라고 출력됩니다.

 

13. 리스트를 복제:

import java.util.ArrayList;
import java.util.List;

public class ListExample {
    public static void main(String[] args) {
        List<String> originalList = new ArrayList<>();

        originalList.add("One");
        originalList.add("Two");
        originalList.add("Three");

        // 리스트를 복제
        List<String> clonedList = new ArrayList<>(originalList);

        System.out.println("복제된 리스트:");
        for (String item : clonedList) {
            System.out.println(item);
        }
    }
}
복제된 리스트:
One
Two
Three

 

  • 리스트 복제: List<String> clonedList = new ArrayList<>(originalList);로 originalList의 내용을 새로운 ArrayList로 복제합니다. 이때, ArrayList의 생성자에 원본 리스트를 인자로 전달하여 원본 리스트의 모든 요소를 복제된 리스트에 복사합니다.

 

이러한 예시를 통해 Java의 List<String>을 활용하는 다양한 기능과 활용법을 더 자세히 이해하실 수 있을 것입니다. Java의 List는 데이터 구조를 효과적으로 관리하고 조작하기 위한 강력한 도구 중 하나입니다.

 

728x90
반응형