Programing (36) 썸네일형 리스트형 [Java] 이중연결리스트와 ListIterator 인터페이스 [Java] 이중연결리스트와 ListIterator 인터페이스 이중 연결 리스트 각각의 노드가 다음 노드와 이전 노드의 주소를 가지는 연결 리스트 양방향의 순회가 가능 Node Class private static class Node { private E data; private Node next = null; private Node prev = null; private Node(E dataItem){ data = dataItem; } } ListIterator 인터페이스 ListIterator는 Iterator를 확장한다. Iterator처럼 개념적으로는 노드와 노드 사이를 가리킨다. ListIterator의 위치는 0에서 size까지의 index로 표현한다. Method Behavior void ad.. [Java] Iterator [Java] Iterator Iterator -> 노드의 주소를 직접 사용자에게 제공하는 대신 그것을 private 멤버로 wrapping하고 있으면서 사용자가 필요로 하는 일을 (노드에 저장된 데이터를 액세스 하거나 한 칸 전진하는 일 등) 해주는 public method를 가진 객체이다. 사용방법 Iterator iter = aList.iterator(); while( iter.hasNext() ) { // Iterator의 hasNext() 메서드는 연결리스트의 끝에 도달하면 false를 반환하며, // next() 메서드는 현재 노드에 저장된 데이터를 반환하고 자신은 한 칸 전진한다. String str = iter.next(); // do something with str } java.util이.. [JQuery] file rename, move 참고 blog [JQuery] file rename, move 참고 blog codechacha.com/ko/java-rename-or-move-file/ Java - 파일 rename, move 하는 방법 Java에서 다양한 방법으로 파일의 이름을 변경하거나 이동시킬 수 있습니다. Java6의 File을 이용하거나, Java7의 NIO 패키지, Files와 Path를 이용할 수 있습니다. 또한 Guava나 Common IO 등의 방법을 이용할 codechacha.com [Java] 리스트 [Java] 리스트 리스트(list) 기본적인 연산: 삽입, 삭제, 검색 등 리스트를 구현하는 대표적인 두가지 방법: 1) 배열, 2) 연결리스트 배열 크기가 고정 - reallocation 필요 리스트의 중간에 원소를 삽입하거나 삭제할 경우 다수의 데이터를 옮겨야함 연결리스트 다른 데이터의 이동없이 중간에 삽입이나 삭제가 가능하며 길이의 제한이 없음 but, 랜덤 액세스 불가 ( 배열의 index로 접근하는 것을 의미 ) 연결리스트의 노드 각각의 노드는 "데이터 필드"와 하나 혹은 그 이상의 "링크 필드"로 구성 single Linked - 단방향( 뒷 노드의 주소 ) / doubley linked - 양방향( 앞, 뒤 노드의 주소 ) 링크 필드는 다음 노드를 참조 첫 번째 노드의 주소는 따로 저장되어.. [Java] List 관련 메서드 [Java] List 관련 메서드 ArrayList myList = new ArrayList(); myList.add("first"); -> 추가한 순서대로 저장 myList.add(2,"second"); -> index 지정 가능, 지정 위치에 값 추가 myList.remove(1); -> 지정한 index의 값 제거, 제거된 index 다음 값들은 index값이 하나씩 감소 myList.set(2,"newSecond"); -> 해당 index의 값 덮어쓰기 String tmpStr = myList.get(2); -> 해당 index 값 불러오기 int index = myList.indexOf("first"); -> first의 값을 가지는 index값을 return, 해당 값이 없으면 -1 return [Java] Generic Programming [Java] Generic Programming Generic Programming -> 데이터 형식에 의존하지 않고, 하나의 값이 여러 다른 데이터 타입들을 가질 수 있는 기술에 중점을 두어 재사용성을 높일 수 있는 프로그래밍 방식 -> Generic programming is a style of computer programming in which algorithms are written in terms of types to-be-specified-later that are then instantiated when needed for specific types provided as parameters. // class 선언 - T라는 가상의 타입에 의해서 parameterized된 class publ.. [Java] 추상클래스와 인터페이스 [Java] 추상클래스와 인터페이스 추상 Class (extends) -> 추상 method는 선언만 있고 구현이 없는 메서드 -> 추상 method를 포함한 class는 추상 class -> 추상 method와 추상 class는 키워드 abstract로 표시 -> 추상 class는 객체를 만들 수 없으며 서브 class를 만드는 용도로만 사용됨 인터페이스 (implements) -> 추상 method만을 가진 순수한 추상 class -> static final 데이터 멤버 (상수)를 가질 수 있음 -> 인터페이스를 구현하는 class는 모든 추상 method를 실제로 구현해야함 Interface vs Abstract Class -> Java에서는 다중 상속을 허용하지 않는다. 하지만, 하나의 class.. [Java] Object Class와 Wrapper Class [Java] Object Class와 Wrapper Class 1) Class Object -> Object class는 모든 class의 superclass이다. -> Object clas의 member method boolean equals(Object obj) - Compares this object to its argument int hashCode() - Returns an integer hash code value for this object String toString() - Returns a string that textually represents the object Class getClass() - Returns a unique object that identifies the class.. 이전 1 2 3 4 5 다음