java 57

[Java] Stream - filter : 스트림 데이터 필터링

Stream.filter란?filter는 특정 조건에 맞는 요소만을 추출하여 새로운 스트림을 생성하는 데 사용됩니다.Predicate로 조건을 만들어서 filter 메서드에 매개변수로 넣어주면 조건에 맞는 요소만 가지고 새로운 스트림이 만들어집니다.Java Stream Filter 메소드 공식 문서 바로가기 w.getColor() == RED) .mapToInt(w -> w.getWeight()) " data-og-host="docs.oracle.com" data-og-source-url="https://docs.oracle.com/javase/8/docs/api/java/util/stream/Stream.html#filter-java.util.function.Predicate-" data-og-url=..

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