본문 바로가기

분류 전체보기837

링크드리스트(3), 해쉬(1) 링크드리스트 학습 public class DoubleLinkedList { //더블 링크드리스트(Doubly linked list)기본 구조 //이중 연결이라고도 한다. //장점 : 양방향으로 연결되어 있어서 노드 탐색이 양쪽으로 모두 가능 public Node head = null; public Node tail = null; public class Node{ T data; Node prev =null; Node next =null; public Node(T data){ this.data = data; } } //데이터값 삽입 public void addNode(T data){ if(this.head == null){ this.head = new Node(data); this.tail = this.he.. 2021. 6. 28.
링크드리스트(2) 링크드리스트 데이터 중간 삽입 학습 //링크드 리스트에 데이터 추가 public class SingleLinkedList { public Node head = null; public class Node{ T data; Node next = null; public Node(T data){ this.data = data; } } //링크드리스트 노드 추가 public void addNode(T data){ if(head == null){ head = new Node(data); }else{ Node node =this.head; while(node.next != null){ node = node.next; } node.next = new Node(data); } } //링크드리스트 모두 출력 public v.. 2021. 6. 28.
링크드리스트(1) 보호되어 있는 글 입니다. 2021. 6. 28.
java.lang패키지와 유용한 클래스(5) 예외를 발생시키는 메서드 메서드 이름에 Exact가 포함된 메서드들이 JDK1.8부터 새로 추가되었다. 이들은 정수형간의 연산에서 발생시할 수 있는 오버플로우(overflow)를 감지하기 위한 것이다. int addExact(int x, int y) // x+ y int subtractExact(int x, int y) // x -y int multiplyExact(int x, int y) // x * y int incrementExact(int a) // a++ int decrementExact(int a) // a-- int negateExact(int a) //-a int toIntExact(long value) // (int) value -int로의 형변환 연산자는 단지 결과를 반환할 뿐, 오버플.. 2021. 6. 27.
java.lang패키지와 유용한 클래스(4) StringBuffer 클래스와 StringBulider 클래스 String클래스는 인스턴스를 생성할 때 지정된 문자열을 변경할 수 없지만 StringBuffer클래스는 변경이 가능하다. 내부적으로 문자열 편집을 위한 버퍼(buffer)를 가지고 있으며, StringBuffer인스턴스를 생성할 때 그 크기를 지정할 수 있다. 이 떄 , 편집할 문자열의 길이를 고려하여 버퍼의 길이를 충분히 잡아주는 것이 좋다. 편집 중인 문자열이 버퍼의 길이를 넘어서게 되면 버퍼의 길이를 늘려주는 작업이 추가로 수행되어야하기 때문에 작업효율이 떨어진다. StringBuffer클래스는 String클래스와 유사한 점이 많다. 아래의 코드에서 알 수 있듯이, StringBuffer클래스는 String클래스와 같이 문자열을 저장.. 2021. 6. 26.
java.lang패키지와 유용한 클래스(3) join()은 여러 문자열 사이에 구분자를 넣어서 결합한다. 구분자로 문자열을 자르는 split()과 반대의 작업을 생각하면 이해하기 쉽다. String animal = "dog,cat,bear"; String[] arr =animals.split(","); //문자열을 ','를 구분자로 나눠서 배열에 저장 String str = String.join("-", arr); //배열의 문자열을 '-'로 구분해서 결합 System.out.println(str); //dog-cat-bear java.util.StringJoiner 클래스를 사용해서 문자열을 결합할 수도 있는데, 사용하는 방법은 간단하다. 아래의 코드를 보는 것만으로 이해가 될 것이다. StringJoiner sj = new StringJoine.. 2021. 6. 25.