import java.util.ArrayList;
import java.util.List;
import java.util.Random;
public class Main {
public static void main(String[] args) {
List<String> list1 = new ArrayList<>();
list1.add("기절초풍");
list1.add("멋있는");
list1.add("재미있는");
List<String> list2 = new ArrayList<>();
list2.add("도전적인");
list2.add("노란색의");
list2.add("바보같은");
List<String> list3 = new ArrayList<>();
list3.add("돌고래");
list3.add("개발자");
list3.add("오랑우탄");
List<String> nameList = new ArrayList<>();
for (int i = 0; i < 3; i++){
for (int j = 0; j < 3; j++){
for (int k = 0; k < 3; k++){
String nickName = list1.get(i) + " " +list2.get(j) + " " + list3.get(k);
nameList.add(nickName);
}
}
}
Random random = new Random();
int randNumber = random.nextInt(28);
System.out.print(nameList.get(randNumber));
}
}
자바 List
- ArrayList
- 내부에서 배열을 사용.
- 조회가 빠름.
- 삽입/삭제는 느릴 수 있음.
- LinkedList
- 내부에서 연결 리스트를 사용.
- 삽입/삭제가 빠름.
- 조회는 느릴 수 있음.
import java.util.ArrayList;
import java.util.List;
public class ListExample {
public static void main(String[] args) {
// 리스트 생성
List<String> list = new ArrayList<>();
// 값 추가
list.add("Apple");
list.add("Banana");
list.add("Cherry");
// 값 조회
System.out.println("첫 번째 과일: " + list.get(0)); // Apple
// 값 삭제
list.remove("Banana");
// 전체 출력
System.out.println("현재 리스트:");
for (String item : list) {
System.out.println(item);
}
// 크기 확인
System.out.println("리스트 크기: " + list.size());
//리스트에 값이 들어있는지 확인
if (list.contains("Apple")) {
System.out.println("Apple이 리스트에 있습니다.");
//인덱스 값으로 조회하기
String fruit = list.get(1);
}
}
}
자바 rand
import java.util.Random;
Random random = new Random();
// 0 ~ 9 정수 생성
int randomInt = random.nextInt(10);
System.out.println(randomInt);
// 0.0 이상 1.0 미만의 실수
double randomDouble = random.nextDouble();
System.out.println(randomDouble);
// 특정 범위의 정수
int min = 5, max = 15;
int randomInRange = random.nextInt(max - min + 1) + min;
System.out.println(randomInRange);
고민했던 점
일단 for 문 3개를 돌려서 저렇게 리스트를 만드는 것이 과연 제일 효율적인 것인지 고민했다. 아무리 그래도 시간복잡도가 너무 과하게 많은 것은 아닌가 싶은 생각이 들었다.
'JAVA' 카테고리의 다른 글
보너스 문제: 가위 바위 보 (0) | 2024.12.17 |
---|---|
Lv3. 단어 맞추기 게임 (2) | 2024.12.16 |
Lv2. 스파르타 자판기 (3) | 2024.12.14 |
JAVA와 Spring 특징 (0) | 2024.12.11 |
반복문 연습하기 (0) | 2024.12.11 |