본문 바로가기

반응형

프로그래밍언어

(94)
[Python] copy 1. copy 파이썬에서 대입문을 통해 객체를 입력하는 경우에는 객체를 복사하는 것이 아니라 객체의 주소를 참조하도록 바인딩해준다. 만약 복사하려는 객체가 가변객체인 경우에는 복사를 통해서 복사본은 수정하고 원본은 유지하도록 하는 방식이 필요한 경우가 있다. copy 모듈은 기본적인 얕은 복사와 깊은 복사 연산을 제공해준다. 2. interfaces - copy.copy(x): 객체 x의 얕은 복사를 반환한다. - copy.deepcopy(x[. memo]): 객체 x의 깊은 복사를 반환한다. 얕은 복사와 깊은 복사의 차이는 리스트나 클래스 인스턴스와 같이 객체 내부에 또다른 객체를 포함하고 있는 경우에 나타난다. 얕은 복사는 새로운 객체를 생성하여 내부에 원본의 객체들과 연결된 참조를 저장하여 반환한다..
[JAVA] Collections 1. Collections Collections 는 컬렉션과 관련된 메서드를 제공한다. fill(), copy(), sort(), binarySearch() 등의 메서드는 두 클래스에 모두 포함되어 있으며 같은 기능을 한다. - 컬렉션의 동기화 멀티쓰레드 프로그래밍에서는 하나의 객체를 여러 쓰레드가 동시에 접근할 수 있다. 그렇기 때문에 데이터의 일관성, consistency 를 유지하기 위해 공유되는 객체에 동기화, synchronization 이 필요하다. Vector 와 Hashtable 과 같은 구버전 클래스들은 자체적으로 동기화 처리가 되어있다. 그렇기 때문에 멀티쓰레드 프로그래밍이 아닌 경우에는 불필요한 기능이 되어 성능에 불리하다. 이후에 추가된 ArrayList 와 HashMap 과 같은 ..
[JAVA] Properties Properties Properties 은 Hashtable 은 상속받아 구현한 것으로 Hashtable 은 키, 값을 (Object, Object) 형태로 저장하는데 Properties 는 (String, String) 의 형태로 저장하는 컬렉션 클래스이다. 주로 애플리케이션의 환경설정과 관련된 속성, property 를 저장하는데 사용되며, 데이터를 파일로부터 읽고 쓰는 기능을 제공한다. 메서드 설명 Properties() Properties 객체를 생성한다. Properties(Properties defaults) 지정된 Properteis 에 저장된 목록을 가진 Properties 객체를 생성한다. String getProperty(String key) 지정된 키의 값을 반환한다. String g..
[JAVA] TreeMap TreeMap TreeMap 은 이진검색트리의 형태고 키, 값 데이터를 저장하는 컬렉션 클래스이다. 이진검색트리로 구성되어 있기 때문에 검색과 정렬에 적합하다. 기본적인 검색에서는 HashMap 이 TreeMap 보다 유리하지만 범위검색이나 정렬이 필요한 경우에는 TreeMap 을 사용하는 것이 더 유리하다. 메서드 설명 TreeMap() TreeMap 객체를 생성 TreeMap(Comparator c) 지정된 Comparator 를 기준으로 정렬하는 TreeMap 객체를 생성 TreeMap(Map m) 주어진 Map에 저장된 모든 요소를 포함하는 TreeMap 을 생성 TreeMap(SortedMap m) 주어진 SortedMap 에 저장된 모든 요소를 포함하는 TreeMap 을 생성 Map.Entry..
[JAVA] HashSet, TreeSet 1. HashSet HashSet 은 Set 인터페이스를 구현한가장 대표적인 컬렉션이다. HashSet 에 데이터를 저장할 때는 add() 또는 addAll() 메서드를 사용하는데 만약에 중복되는 데이터가 이미 존재하는 경우에는 false 를 반환하여 데이터 저장이 실패했다는 것을 알린다. ArrayList 와 같이 List 인터페이스를 구현한 컬렉션과 달리 HashSet 은 저장순서를 저장하지 않는다. 저장순서를 유지하고자 한다면 LinkedHashSet 을 사용해야 한다. 메서드 설명 HashSet() HashSet 객체 생성 HashSet(Collection c) 컬렉션 c의 데이터를 포함하는 HashSet 객체를 생성 HashSet(int initialCapacity) 주어진 값을 초기용량으로 하..
[JAVA] Comparator, Comparable 1. Comparator, Comparable Comparator 와 Comparable 은 모두 인터페이스로 컬렉션을 정렬하는데 필요한 메서드를 정의하고 있다. Comparable 을 구현하고 있는 클래스들은 같은 타입의 인스턴스끼리 서로 비교할 수 있는 클래스들이며, 기본적으로 오름차순으로 정렬하도록 구현되어 있다. 그래서 Comparable 을 구현한 클래스는 모두 비교가 가능하다는 것을 알 수 있다. public interface Comparator { int compare(Object o1, Object o2); boolean equals(Object obj); } public interface Comparable { public int compareTo(Object o); } compare()..
[JAVA] Arrays 1. Arrays Arrays 클래스는 배열을 다루는 다양한 메서드들을 포함하고 있는 클래스이다. - copyOf(), copyOfRange() copyOf() 는 배열 전체를, copyOfRange() 는 배열의 일부를 복사하여 새로운 배열을 만들어 반환한다. copyOfRange() 에서 범위의 끝은 포함되지 않는다. (external) - fill(), setAll() fill() 은 배열의 모든 요소를 지정된 값으로 채운다. setAll() 은 배열을 채우는데 사용할 함수형 인터페이스를 매개변수로 받는다. 이 메서드를 호출할 때는 함수형 인터페이스를 구현한 객체를 매개변수로 지정하던가, 람다식을 지정해야 한다. int[] arr = new int[5]; Arrays.fill(arr, 13); //..
[JAVA] Iterator, ListIterator, Enumeration 1. Iterator, ListIterator, Enumeration - Iterator 컬렉션 프레임워크는 컬렉션에 저장된 요소들을 읽어오는 방법을 표준화하였다. 컬렉션에 저장된 각 요소에 접근하는 기능을 가진 Iterator 인터페이스를 정의하고, Collection 인터페이스에는 Iterator (Iterator 인터페이스를 구현한 클래스의 인스턴스) 를 반환하는 iterator() 를 정의하고 있다. iterator() 는 Collection 인터페이스에 정의된 메서드이므로 List 와 Set 에도 포함되어 있다. iterator() 메서드를 호출하여 Iterator 를 반환받은 후에 반복문을 사용하여 요소들에 접근할 수 있다. 메서드 설명 boolean hasNext() 읽어 올 요소가 남아있는..

반응형