본문 바로가기

자바2

[Java] 배열과 리스트, 무엇을 써야 할까? 알고리즘 문제를 풀다가 sort 작업을 배열에서 하는게 좋은지, 리스트로 옮긴 후에 진행하는게 궁금해졌다. 그리고 테스트를 하다 보니 변환 작업은 각각 얼마나 시간이 걸리는지, 그리고 어떨 때 변환을 하는게 좋고 어떨 때 안하는게 좋을 지 궁금해져서 관련된 모든 작업을 테스트해 보았다. 글 마지막에 어떤 상황에서 배열을 쓰고 어떤 상황에서 리스트를 써야할 지 정리해 두었다. 각 작업에서 가장 빠른걸 bold 처리 해두었다. 1. 정렬(sort) 배열과 ArrayList, LinkedList의 sort 시간을 살펴보았다. 길이가 100만인 int배열과 String 배열로 테스트 해 보았다. int 배열 배열에서 sort: 5ms ArrayList에서 sort: 9ms LinkedList에서 sort: 40.. 2022. 11. 19.
자동 타입 변환/ 강제 타입 변환 자동 타입 변환 변수에 값을 저장할 때 자동으로 타입이 변환되어 저장됨. 정수 자료형은 int로 자동 변환되어 저장. 실수 자료형은 double로 자동 변환되어 저장. int a = 1; int b = 2; double val = a/b; 위와 같이 하면 val이 0.5가 아니라 0.0이 됨. a,b 모두 int이므로 a/b의 결과도 정수로 나오게 되고, 그 후 그 결과값이 double로 바뀌는 것임. 제대로 된 결과를 얻으려면 val을 초기화할 때 a혹은 b 앞에 (double)을 붙여 타입을 강제로 변환시켜야함. 강제 타입 변환 변수에 값을 저장할 때 강제로 타입을 변환하여 저장할 수 있음. 숫자를 다른 숫자 자료형으로 바꿀때는 (int), (char)등을 앞에 붙임. 숫자를 문자열로 바꿀때는 Str.. 2022. 11. 7.