본문 바로가기

Java85

3.연결 리스트(LinkedList)구현 LinkedList 특징 - 동일한 데이터 타입을 순서에 따라 관리하는 자료구조 - 자료를 저장하는 노드에는 자료와 다음 요소를 가리키는 링크(포인터)가 있음 - 자료가 추가 될때 노드만큼의 메모리를 할당받고 이전 노드의 링크로 연결함(정해진 크기가 없음) - 연결리스트의 i번째 요소를 찾는게 걸리는 시간은 요소의 개수에 비례 : O(n) - jdk 클래스 : LinkedList LinkedList 구현 - MyListNode.java public class MyListNode { private String data; // 자료 public MyListNode next; // 다음 노드를 가리키는 링크 public MyListNode() { data = null; next = null; } public .. 2022. 5. 27.
2.배열(Array) 구현 Array의 특징 - 동일한 데이터 타입을 순서에 따라 관리하는 자료 구조 - 정해진 크기가 있음 - 요소의 추가와 제거시 다른 요소들의 이동이 필요함 - 배열의 i번째 요소를 찾는 인덱스 연산이 빠름 - jdk클래스 : ArrayList, Vector Array 구현 - MyArray.java public class MyArray { int[] intArr; int count; public int ARRAY_SIZE; public static final int ERROR_NUM = -9999999; public MyArray() { count = 0; ARRAY_SIZE = 10; intArr = new int[ARRAY_SIZE]; } public MyArray(int size) { count = 0.. 2022. 5. 27.
39.Class 클래스 Class 클래스 - 자바의 모든 클래스와 인터페이스는 컴파일 후 class 파일이 생성됨 - Class 클래스는 컴파일 된 class 파일을 로드하여 객체를 동적 로드하고, 정보를 가져오는 메서드가 제공됨 - Class.forName("클래스 이름") 메서드로 클래스를 동적으로 로드 함 Class c =Class.forName("java.lang.String"); - 클래스 이름으로 직접 Class 클래스 가져오기 Class c =String.class; - 생성된 인스턴스에서 Class 클래스 가져오기 String s= new String(); Class c = s.getClass(); //Object 메서드 동적로딩 - 컴파일 시에 데이터 타입이 binding 되는 것이 아닌, 실행(runtime).. 2022. 5. 26.
38.String, StringBuilder, StringBuffer 클래스, text block String 클래스 - String 선언하기 String str1 = new String("abc"); String str2 = "abc"; - 힙 메모리에 인스턴스로 생성되는 경우와 상수 폴(constant pool)에 있는 주호를 참조하는 두 가지 방법 - 힙 메모리는 생성될때마다 다른 주소 값을 가지지만, 상수 폴의 문자열은 모두 같은 주소값을 가짐 예제 - StringTest.java public class StringTest { public static void main(String[] args) { String str1= new String("abc"); String str2= new String("abc"); System.out.println(str1 == str2); String str3 .. 2022. 5. 25.