투케이2K

228. (java/자바) array to list 배열과 리스트 간 배열 복사 실시 - Collectors toList , Arrays asList , mapToInt 본문

Java

228. (java/자바) array to list 배열과 리스트 간 배열 복사 실시 - Collectors toList , Arrays asList , mapToInt

투케이2K 2021. 8. 6. 10:48

[개발 환경 설정]

개발 툴 : Eclipse

개발 언어 : Java


[소스 코드]

package ex6;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.stream.Collectors;

public class MainActivity8 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("[Program Start]");
		System.out.println("");
		
		/**
		 * [요약 설명]
		 * 1. Arrays stream anyMatch : 주어진 배열에서 지정된 값을 찾을 수 있습니다
		 * 2. Arrays asList contains : 주어진 배열에서 지정된 값을 찾을 수 있습니다 (string 데이터)
		 * 3. Collectors.toList : int 배열 데이터 목록을 박싱해서 list 로 변환합니다
		 * 4. Arrays.asList : string 배열 데이터를 list 로 변환합니다
		 * 5. mapToInt toArray : Integer list 데이터 목록을 int 배열 형식으로 만듭니다
		 * 6. toArray : String list 데이터 목록을 string 배열 형식으로 만듭니다
		 * 7. 참고 : 스트림 사용은 java 8 부터 사용하실 수 있습니다
		 * */
		
		// 초기 변수 선언 실시 
		int i_arr[] = {1, 2, 3};
		String s_arr[] = {"하나", "둘", "셋"};
		
		System.out.println("int 원본 : " + Arrays.toString(i_arr));
		System.out.println("string 원본 : " + Arrays.toString(s_arr));
		System.out.println("");
		
		
		
		// 특정 값 포함 여부 확인 실시
		int check_int_data = 2;
		String check_string_data = "둘";
		
		System.out.println("[2] 포함 여부 : " + Arrays.stream(i_arr).anyMatch(i -> i == check_int_data));
		System.out.println("[둘] 포함 여부 : " + Arrays.asList(s_arr).contains(check_string_data));
		System.out.println("");
		
		
		
		// 고정 배열 데이터를 list 데이터로 복사 실시
		ArrayList<Integer> i_list = (ArrayList<Integer>) Arrays.stream(i_arr).boxed().collect(Collectors.toList());
		i_list.add(4);
		
		ArrayList<String> s_list = new ArrayList<>(Arrays.asList(s_arr));
		
		s_list.add("넷");		
		System.out.println("int to list : " + i_list.toString());
		System.out.println("string to list : " + s_list.toString());
		System.out.println("");
		
		
		
		// list to int 데이터 복사 실시
		int i_arr_copy[] = i_list.stream().mapToInt(i->i.intValue()).toArray();
		String s_arr_copy[] = s_list.toArray(new String[s_list.size()]);
		
		System.out.println("int 복사 : " + Arrays.toString(i_arr_copy));
		System.out.println("string 복사 : " + Arrays.toString(s_arr_copy));
		System.out.println("");

	}// 메인 종료

}// 클래스 종료

[결과 출력]


[요약 설명]

/**

* [요약 설명]

* 1. Arrays stream anyMatch : 주어진 배열에서 지정된 값을 찾을 수 있습니다

* 2. Arrays asList contains : 주어진 배열에서 지정된 값을 찾을 수 있습니다 (string 데이터)

* 3. Collectors.toList : int 배열 데이터 목록을 박싱해서 list 로 변환합니다

* 4. Arrays.asList : string 배열 데이터를 list 로 변환합니다

* 5. mapToInt toArray : Integer list 데이터 목록을 int 배열 형식으로 만듭니다

* 6. toArray : String list 데이터 목록을 string 배열 형식으로 만듭니다

* 7. 참고 : 스트림 사용은 java 8 부터 사용하실 수 있습니다

* */


 

반응형
Comments