Study 174

[Java] String - hashcode(), trim() 공백 제거, intern() 사용법

hashcode()String 객체의 hashcode를 변환해줍니다.해시코드는 간단하게 말하면 객체의 고유한 값이라고 합니다.Object클래스로 구현된 객체라면 이 메소드를 모두 가지고 있습니다.그래서 값을 서로 비교할때 사용됩니다. 사용방법은 다음과 같습니다.String str1 = "WORD";String str2 = "WORD";System.out.println("str1's hashcode : " + str1.hashCode());System.out.println("str2's hashcode : " + str2.hashCode());String str3 = new String("WORD");System.out.println("str3's hashcode : " + str3.hashCode());..

[Java] String - getBytes, toCharArray

getBytes()문자열을 byte배열로 변환해주는 메소드입니다.매개변수로 Charset charset이나 String charsetName을 받기도 합니다.String str = "abc";System.out.println("getBytes() : " + Arrays.toString(str.getBytes()));System.out.println("getBytes(Charset charset) : " + Arrays.toString(str.getBytes(Charset.defaultCharset()))); try { System.out.println("getBytes(String charsetName) : " + Arrays.toString(str.getBytes("UTF-8")..

[Java] Stream - map: 스트림 값 변환

자바 Stream의 map 메서드는 주어진 함수를 적용한 새로운 스트림을 만들어주는 메서드입니다. mapmap은 다음과 같이 사용합니다.List list = new ArrayList();list.add(1);list.add(2);list.add(3);list.stream().map(num -> num * 3).forEach(num -> System.out.println(num));정수 리스트의 각 요소에 3을 곱한 값으로 새로운 스트림을 만들었습니다.map의 결과값은 Stream이기 때문에 map의 결과에 Stream 메서드를 또 사용할 수 있습니다. 또 다른 예로, 컬렉션의 타입을 바꾸고 싶을 때 사용하기도 합니다.List list = new ArrayList();list.add(1);list.add(..

[Java] Collection remove 사용 시 ConcurrentModificationException 발생

ConcurrentModificationException 예외가 발생하는 여러 상황이 있지만, 그 중에서 Collection의 remove 메소드를 사용해서 예외가 발생하는 경우와, 예외를 방지하는 방법에 대해 설명드리겠습니다. removeList list = new ArrayList();for (int i = 0; i List의 remove 메소드를 사용할 때 ConcurrentModifiedException이 발생할 수 있습니다. foreach(향상된 for문)를 통해 순회하는 경우 내부에서 Iterator를 사용하는데, Iterator의 next() 메소드를 호출하면 동시 수정 여부를 체크하게 됩니다.동시 수정 여부는 ArrayList 내부에 있는 Iterator의 카운트(expectedModCou..

[Java] Collection - UnsupportedOperationException

Collection을 사용할 때 생길 수 있는 예외 중 하나인 UnsupportedOperationException에 대해서 살펴보겠습니다. List integers = Arrays.asList(1, 2, 3);integers.add(4);위 코드는 UnsupportedOperationException을 발생시킵니다.  UnsupportedOperationException은 특정 작업이 해당 클래스에서 지원하지 않을 때 발생합니다.  List에는 add 메소드가 있지만 UnsupportedOperationException 예외가 발생하는 이유는 asList 메서드에 의해 생성된 컬렉션은 크기가 고정되어 있기 때문입니다.그래서 add 메소드로 컬렉션에 요소를 추가하려고 하면 예외가 발생합니다. 정확하게 설..

[Java] Collection - toArray() : 컬렉션을 배열로 변환

toArray(), toArray(T[] a) 메소드는 컬렉션을 배열로 변환해주는 메소드입니다.List list = new ArrayList();list.add("a");list.add("b");list.add("c");Object[] toArray = list.toArray();System.out.println("toArray = " + Arrays.deepToString(toArray));toArray()는 Object 배열로 변환해줍니다. 만약에 Object가 아닌 다른 클래스 배열로 변환하고자 한다면 toArray(T[] a) 메소드를 사용하면 됩니다.List list = new ArrayList();list.add("a");list.add("b");list.add("c");String[] toA..

[Java] Collection - iterator : 순회, 반복

iterator()iterator() 메소드는 컬렉션 인스턴스에서 Iterator 객체를 가져오는 함수입니다.Iterator 클래스를 사용하면 컬렉션을 반복할 수 있게 됩니다.이 메소드는 모든 Collection 객체에 선언된 메소드는 아닙니다.import java.util.HashSet;import java.util.Iterator;import java.util.Set;public class Main { public static void main(String[] args) { Set set = new HashSet(); set.add(1); set.add(2); set.add(3); Iterator it = set.iterator(); while (it.hasNext()) { S..

[Java] Collection - contains, containsAll : 특정 요소 포함

contains와 containsAll 메소드는 컬렉션에 특정 값을 포함하고있는지 여부를 판별합니다. 두 메소드 모두 반환값은 boolean입니다.add나 remove와 비슷하게 contains도 컬렉션을 인수로 받는 containsAll 메소드가 있습니다. contains(Object o)List list = new ArrayList();list.add(1);list.add(2);list.add(3);System.out.println("list.contains(2) = " + list.contains(2));System.out.println("list.contains(5) = " + list.contains(5));위와 같이 사용합니다.제네릭 타입을 정해준 경우에는 지정한 타입과 같은 타입의 값만 인자..

[Java] Collection - remove, removeAll: 특정 값, 리스트 삭제

remove와 removeAll은 List나 Set 같은 컬렉션에서 원소를 제거하는 메서드입니다. remove(Object o)List list = new ArrayList();list.add("1");list.add("2");list.add("3");list.add("4");list.add("5");list.remove("5");list.remove("3");list.remove("1");System.out.println("list = " + list);인자로 받은 Object와 일치하는 원소를 제거합니다.remove를 실행하면 내부에서는 Object 클래스의 equals 메서드를 사용하여 일치 여부를 판별합니다.add 메소드와 마찬가지로 리턴타입은 boolean입니다. List에는 remove 메서드..

[Java] Collection - add, addAll: 값 추가, 리스트에 리스트 추가

Collection 클래스에는 add와 addAll 메소드가 있습니다.add 메소드는 리스트와 같은 컬렉션 객체에 단일 값을 추가하는 메소드고, addAll 메소드는 컬렉션 객체에 컬렉션을 추가하는 메소드입니다. add컬렉션에 원소를 추가하는 메서드입니다. 두 메서드의 반환 타입은 boolean입니다.List list = new ArrayList();boolean add1 = list.add(1);boolean add2 = list.add(2);System.out.println("add1 = " + add1);System.out.println("add2 = " + add2); 만약에 중복을 허용하지 않는 컬렉션(ex. set)에 중복값을 add 하게 되면 false를 리턴합니다.Set set = new ..

728x90