Collection
List에서 최대/최소값 구하기
★max(List L) / min(List L) : List에 최대,최솟값을 반환
★shuffle(List L) : List를 랜덤으로 섞음
List
ArrayList, Vector, LinkedList 정렬하기
★List.sort(Comparator c)
Comparator c 에 들어갈수 있는것들
- Comparator.naturalOrder() : 오름차순
- Comparator.reverseOrder() : 내림차순
- String.CASE_INSENSITIVE_ORDER : 대소문자 구분없이 오름차순
- Collections.reverseOrder(String.CASE_INSENSITIVE_ORDER) : 대소문자 구분없이 내림차순
https://hianna.tistory.com/569
[Java] ArrayList 정렬하기 (오름차순, 내림차순, 사용자 정의)
Collections.sort() 오름차순으로 정렬하기 내림차순으로 정렬하기 대소문자 구분없이 정렬하기 List.sort() - Java 8 이후 오름차순으로 정렬하기 내림차순으로 정렬하기 대소문자 구분없이 정렬하기 사
hianna.tistory.com
ArrayList
두 작업이 동시에 실행되는 멀티스레드 환경이 아닌경우 주로 사용
선언
ArrayList <wrapper Type> arr = new ArrayList <wrapper Type>(); //1차원
ArrayList<ArrayList<wrapper Type>> arr_2d = new <ArrayList<wrapper Type>(); //2차원
데이터 추가
add(Object) : ArrayList에 Object 추가
add(int idx, Object) : ArrayList idx 번째에 Object 추가
★addAll(Collection c) : 주어진 컬렉션의 모든 객체를 저장
import java.util.ArrayList;
public class ArrayList {
public static void main(String[] args) {
ArrayList<String> arr = new ArrayList<>();
arr.add("Hello");
arr.add("Hello");
arr.add(1, "World"); //1번째 인덱스에 World 추가
System.out.print(arr);
}
}
데이터 변경
set(int idx, Object) : ArrayList idx번째에 Object로 변경
import java.util.ArrayList;
public class ArrayList {
public static void main(String[] args) {
ArrayList<String> arr = new ArrayList<>();
arr.add("Hello");
arr.add("Hello");
arr.add("Hello");
System.out.println("초기값 : " + arr); //Hello, Hello, Hello
arr.set(1, "World");
System.out.println("변경된 값 : " + arr); //Hello, World, Hello
데이터 삭제
remove(Object) : Object를 삭제
remove(int idx) : ArrayList idx 번째 값을 삭제
clear() : ArrayList 모든 값을 삭제
import java.util.ArrayList;
public class ArrayListDemo {
public static void main(String[] args) {
ArrayList<String> al = new ArrayList<>();
al.add("Hello");
al.add("World");
al.add("Hello");
al.add("World");
System.out.println("초기값 : " + al); // Hello, World, Hello, World
al.remove("Hello");
System.out.println("1번 삭제 : " + al); // World, Hello, World
al.remove(1);
System.out.println("2번 삭제 : " + al); // World, World
al.clear();
System.out.println("3번 삭제 : " + al); // ..
}
}
List 크기 구하기
size() (int 반환)
import java.util.ArrayList;
public class ArrayListDemo {
public static void main(String[] args) {
ArrayList<String> al = new ArrayList<>();
al.add("Hello");
al.add("World");
al.add("Hello");
al.add("World");
System.out.println("ArrayList의 크기 : " + al.size()); .// 4출력
}
}
값 가져오기
get(int idx)
import java.util.ArrayList;
public class ArrayListDemo {
public static void main(String[] args) {
ArrayList<String> al = new ArrayList<>();
al.add("Hello");
al.add("World");
al.add("Hello");
al.add("World");
System.out.println(a1.get(1)); //World 출력
}
}
List의 값을 출력하는 2가지 방법
1. for문 + get(idx) 사용
★2. Iterator 사용
import java.util.ArrayList;
import java.util.Iterator;
public class ArrayListDemo {
public static void main(String[] args) {
ArrayList<String> al = new ArrayList<>();
al.add("Hello");
al.add("World");
al.add("Hello");
al.add("World");
for (String str : al)
System.out.print(str + " ");
System.out.println();
Iterator iter = al.iterator();
while(iter.hasNext()){
System.out.print(iter.next() + " ");
}
}
}
값 검색하기
contains(Object) (boolean 반환) : Object가 ArrayList에 포함되어 있으면 True 반환
indexOf(Object) (int 반환) : Object가 ArrayList에 포함되어 있는 위치 반환
= 보통 ArrayList<String>에서 사용
import java.util.ArrayList;
public class ArrayListDemo {
public static void main(String[] args) {
ArrayList<String> al = new ArrayList<>();
al.add("Hello");
al.add("World");
al.add("Hello");
al.add("World");
System.out.println("값 검색(contains) : " + al.contains("Hello")); //true 반환
System.out.println("값 검색(indexOf) : " + al.indexOf("World")); //1 반환
}
}
isEmpty() (boolean 반환) : ArrayList 비어 있는지 확인
★Object.subList(int start, int last) (object의 값을 start부터 last-1까지 반환)
※ 주의할점 : new로 새로운 객체 만들지 않고 그냥 sublist로 넘기면 arr의 값이 바뀌면 arr2값도 바뀌어서 ConcurrentModificationException 에러 발생함
Vector() = 지금은 잘 안씀
멀티 스레드환경인 경우 주로 사용
https://crazykim2.tistory.com/570
[JAVA] Vector의 개념 및 사용법
안녕하세요 이번 포스팅에서는 Vector에 대해서 알아보겠습니다 목차 Vector란? Vector 선언하기 Vector 값 추가하기 Vector 값 변경하기 Vector 값 제거하기 Vector 크기 구하기 Vector 값 출력하기 Vector란? Vec
crazykim2.tistory.com
stack()
선언
Stack stq = new Stack();
주요 메서드
1. empty() (boolean 반환) : 스택이 비어있으면 true 반환
2. peek() (객체 반환) : 스택 맨 위에 저장된 객체 반환
※주의 : 비었을때 EmptyStackException 발생
3. pop() (객체 반환) : 스택의 맨 위에 저장된 객체 버림
※주의 : 비었을때 EmptyStackException 발생
4. push() (객체 반환) : 스택 맨위에 객체 저장
5. search(Object o) : 스택에 주어진 객체 o를 찾아서 위치를 반환
※주의 : 스택의 위치는 1부터 시작함