본문 바로가기

Java66

자바 컬렉션 간 변환(Array, List, Map, Set) 정리 배열, Collection 객체 간에 변환이 필요한 경우 사용할 수 있는 방법을 정리해보았다. 변환을 할 때 배열과 배열이 아닌 객체 간을 나눠서 볼 수 있다. 배열이 아닌 List, Map, Set으로 변환하는 경우에는 원래 객체를 파라미터로 받아 List, Map, Set 객체를 생성하는 방식으로 변환한다. 다만, 배열의 경우에는 List로 변환하여 넣어 주면 된다. List, Map, Set 객체를 배열로 바꾸려고 할 때는 List, Map, Set 객체가 기본적으로 가진 toArray() 메서드를 이용하면 쉽게 배열로 바꿀 수 있다. Array -> List 1. Arrays.asList(array) * 원래 배열의 list 형태만 보여줌. 따라서 리스트 추가하는 것이 불가하고(추가 시 Unsup.. 2022. 10. 1.
자바 웹 애플리케이션 구조 웹 개발을 한다는 것은 WAS(Web Application Server)에서 실행할 수 있는 웹 애플리케이션을 만드는 것이다. 웹 애플리케이션도 역시 프로그램이고 사람이 작성한 소스 코드대로 컴퓨터가 명령어를 실행한다. 간단한 프로그램을 만든다고 했을 때는 개발자가 모든 로직을 스스로 구현하는 것이 가능하다. 하지만 그 규모가 커지고 반복적인 작업이 많아짐에 따라 다른 사람이 작성한 코드를 가져다가 쓰게 된다. 결국 하나의 애플리케이션은 자신이 작성한 코드와 다른 사람들이 작성해 놓은 라이브러리가 결합되어 있는 구조이다. 자바 웹 애플리케이션 구조도 그와 같다. Web Application │ └─WEB-INF │ ├─ classes │ ├─ lib │ └─ web.xml 자바 웹 애플리케이션 코드를 작.. 2022. 6. 13.
Java EE(또는 Jakarta EE)에서 Spring Framework로 Java를 이용한 웹 개발을 공부하다 보면, 처음에는 Java SE를 사용하다가 어느 순간 Java EE를 공부하게 된다. 특히, Eclipse IDE를 사용하여 자바를 공부했다면, 처음에는 Eclipse IDE for Java Developer를 쓰다가 어느 순간 Eclipse IDE for Enterprise Java and Web Developers를 쓰게 된다. 전자가 일반적인 Java 개발용 IDE이고, 후자가 Java EE 개발을 위한 IDE이다. 그렇다면 Java EE란 무엇일까? 자바 언어의 플랫폼은 자바의 기본 기능을 탑재한 Java SE, 웹 개발을 위한 Java EE, 모바일 디바이스 앱 개발을 위한 Java ME, 데스크톱 앱이나 리치 웹 애플리케이션 개발을 위한 Java FX, 4.. 2022. 5. 24.
JCF(Java Collection Framework) 정리 List ArrayList - 배열을 개선한 것. 배열과 다르게 가변 크기. Random Access로 검색에 유리. 검색 시 O(1), 삽입, 삭제 시 배열 크기를 늘리고 요소들을 이동시켜야 하므로 O(n). 최대 인덱스 초과 시 배열 크기 50% 증가. LinkedList - 각 자료들이 앞 자료와 뒷 자료의 주소를 갖고 있어 Sequential Access. 삽입이나 삭제에 유리. 검색 시 O(1)~O(n). 삽입, 삭제 시 O(1). Vector - 동기화 지원. 한 번에 하나의 스레드만 접근. -> Thread-safe. 최대 인덱스 초과 시 배열 크기 100% 증가. Map HashMap - 키 값을 해시 테이블로 만들어서 인덱스로 사용. 순서 보장 X. LinkedHashMap - HashM.. 2021. 12. 28.
728x90