Study/java 70

[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 ..

[Java] Integer - bitCount 2진수 관련 메서드 사용법

Integer 클래스에서 비트를 다루는 메서드에 대해 살펴보려고 합니다. bitCount(int i)int i = 12345;System.out.println("12345 binary : " + Integer.toString(i, 2));System.out.println("bitCount : " + Integer.bitCount(i));bitCount는 정수를 2진수로 변환한 뒤 1 비트의 개수를 반환합니다.내부 로직에서는 이진수로 변환은 하지 않고 shift 연산자를 이용해서 밀어버립니다. highestOneBit(int i), lowestOneBit(int i)int i = 12345;System.out.println("highestOneBit : " + Integer.highestOneBit(i))..

[Java] Integer - value: 정수를 다른 숫자 타입으로 변환

Integer를 long이나 double과 같은 다른 숫자 타입으로 변환하고싶을 때 value() 메소드를 사용하면 됩니다. intValue(), longValue(), shortValue(), floatValue(), doubleValue() Integer int1 = 10; System.out.println("intValue : " + int1.intValue()); System.out.println("longValue : " + int1.longValue()); System.out.println("shortValue : " + int1.shortValue()); System.out.println("floatValue : " + int1.floatValue()); System.out.println("..

[Java] Integer - toString 정수를 문자열로 변환

toString 메소드는 Object 객체에 있는 메소드로, 객체를 문자열로 반환해주는 메소드입니다.Integer도 toString 메소드가 존재합니다. toString(int i, int radix)int int1 = 123;System.out.println("toString class : " + Integer.toString(int1).getClass());System.out.println("radix 2 : " + Integer.toString(int1, 2));인수로 받은 정수를 문자열로 변환해주는 메서드입니다.radix는 parseInt와 마찬가지로 생략이 가능합니다.radix를 주면 해당하는 진수로 변환해줍니다.위의 결과처럼 radix를 2로 주면 인수로 받은 정수 i를 2진수 문자열로 변환합..

[Java] Integer - parseInt 문자열을 정수로 변환

문자열을 정수로 변환해 주는 parseInt 메서드에 대해서 살펴보겠습니다. parseInt(String s, int radix)String s1 = "1001";System.out.println("\\"1001\\" parseInt : " + Integer.parseInt(s1));System.out.println("\\"1001\\" parseInt + radix : " + Integer.parseInt(s1, 2));문자열 s를 int로 변환해주는 메서드입니다.이 메소드를 사용하면 Integer가 아니라 int로 변환합니다. radix는 진수값을 의미하며, 생략이 가능합니다.radix를 지정해주는 경우 문자열 변수의 값을 radix에 해당하는 진수 값으로 판별하고 10진수로 변환합니다.radix가 ..

728x90