
순서가 있고 중복을 허용하는 목록입니다.
마치 음악 플레이리스트와 같습니다. 노래 순서는 있지만 여러번 재생할 수 있습니다.
List는 데이터를 넣은 순서대로 차곡차곡 저장하는, 가장 일반적인 형태의 목록입니다.
게시판 글 목록, 음악 플레이리스트처럼 순서가 중요한 경우에 사용합니다.
다음과 같이 List<String> playlist = new ArrayList<>(); 로 선언하여 playlist를 생성할 수 있습니다.
리스트명.add(); : 새로운 데이터를 추가할 수 있습니다.리스트명.get(인덱스); : 특정 위치의 데이터를 가져올 수 있습니다.리스트명.size(); : 리스트의 총 크기, 리스트 데이터 수를 확인할 수 있습니다.리스트명.remove(인덱스); : 리스트의 데이터를 인덱스 0부터 삭제할 수 있습니다.import java.util.ArrayList;
import java.util.List;
public class ListExample {
public static void main(String[] args) {
// ArrayList 생성 (List는 인터페이스, ArrayList는 구현 클래스)
List<String> playlist = new ArrayList<>();
// 1. 데이터 추가: add()
playlist.add("아이유 - 라일락");
playlist.add("BTS - Dynamite");
playlist.add("BLACKPINK - Lovesick Girls");
playlist.add("BTS - Dynamite"); // 중복 추가 가능
System.out.println("플레이리스트: " + playlist);
// 2. 특정 위치의 데이터 가져오기: get(인덱스)
String secondSong = playlist.get(1);
System.out.println("두 번째 노래: " + secondSong);
// 3. 크기 확인: size()
System.out.println("총 곡 수: " + playlist.size());
// 4. 데이터 삭제: remove(인덱스)
playlist.remove(0);
System.out.println("첫 곡 삭제 후: " + playlist);
}
}
‘집합’ 개념과 같습니다. 가장 큰 특징은 데이터의 중복을 절대 허용하지 않는 것입니다.
LinkedHashSet은 순서를 유지합니다.)get(i)처럼 위치로 데이터에 접근할 수 없습니다.Set의 가장 중요한 특징입니다. 이미 존재하는 값을 또 추가하려고 하면, 아무 일도 일어나지 않습니다.로또 번호, 이벤트 참가자 명단처럼 데이터의 유일성이 보장되어야 할 때 사용됩니다.
Set<Integer> lotteryNumbers = new HashSet<>(); 로 선언하여 lotteryNumbers를 생성할 수 있습니다.
Set명.add(); : 데이터를 추가합니다.Set명.contains(); :특정 데이터 존재 여부 확인합니다.Set명.size(); : 크기를 확인합니다.Set명.remove(); : 데이터를 삭제합니다.import java.util.HashSet;
import java.util.Set;
public class SetExample {
public static void main(String[] args) {
// HashSet 생성 (Set은 인터페이스, HashSet은 구현 클래스)
Set<Integer> lotteryNumbers = new HashSet<>();
// 1. 데이터 추가: add()
lotteryNumbers.add(45);
lotteryNumbers.add(12);
lotteryNumbers.add(3);
lotteryNumbers.add(12); // 중복 추가 시도 -> 무시됨
System.out.println("로또 번호: " + lotteryNumbers);
// 2. 특정 데이터 존재 여부 확인: contains()
boolean hasThree = lotteryNumbers.contains(3);
System.out.println("3번 공이 있나요? " + hasThree);
// 3. 크기 확인: size()
System.out.println("총 번호 개수: " + lotteryNumbers.size());
// 4. 데이터 삭제: remove(값)
lotteryNumbers.remove(45);
System.out.println("45번 공 제거 후: " + lotteryNumbers);
}
}