ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • ArrayList vs. LinkedList vs. Vector, 제너릭 함수
    컴퓨터 공부/JAVA 2020. 3. 28. 15:28

     ArrayList vs. LinkedList vs. Vector

    List 인터페이스 상속, 동적인 배열

     

    ArrayList : 동기화 기능 사라짐, 인덱스를 가짐 (검색 용이), <Object>

    java.util.ArrayList

    더보기

    ArrayList <String> a = new ArrayList<String>(7);

    a.add("hi");

    a.add("bye");

    int num = a.size(); //데이터 갯수 ->2

    int b = a.capacity(); //불가

    a.add(1, "hey"); //중간 삽입 가능

    String str = a.get(1);

    a.remove(1); 

    a.clear(); //모든 요소 삭제

    * length : 배열 길이

      length() : 문자열 길이

     

    LinkedList : 서로 연결된 리스트 -> 추가 / 삭제 용이, 양방향으로 연결 (doubly linked) -> 스택/큐

    java.util.LinkedList

    더보기

    LinkedList <String> list = new LinkedList<String>();

    list.add("hi");

    list.add("bye");

    list.add(1,"hey");

     

    String str = list.get(1);

    * head, tail

     

    Vector : 구버전 호환용(잘 사용 안 함), 자동 동기화 (성능 떨어짐), 인덱스 사용, <Object>

    java.util.Vector

    더보기

    Vector < Integer> v = new Vector<Integer>(7);

    v.add(5);

    v.add(4); //넣은 순서대로 5, 4 저장

    int a = v.size(); //데이터 갯수 ->2

    int b = v.capacity(); //전체 용량 ->7

    v.(1,-3); //인덱스 1번 자리에 중간 삽입

    Interger num = v.get(1);

    v.remove(1);

    int last = v.lastElement(); //마지막 요소

    v.removeElements(); //모든 요소 삭제

    Collections 클래스

    -> java.util 패키지에 포함

    더보기

    import java.util.*;

    Collections.sort(list); : 정렬

    Collections.reverse(list); :  역순으로

    Collections.max(list), min(list); : 최댓값, 최솟값

    int index = Collections.binarySearch(list, "hi"); : 특정 값 검색 -> 해당 인덱스 반환

    제네릭 함수, 배열 <T> -> T는 제너릭한 타입, 중복성 제거 (같은 클래스, 메서드 동작이 같은데 데이터 타입이 다를 때)

    더보기

    class CustomStack<T> {

        List<T> customStack = new ArrayList<>();

        

        public void pop( T inputItem ) {

            customStack.add( inputItem );

        }

        

    }

     

    public class GenericEx_1 {

        

        public static void main(String[] args) {

            CustomStack<String> stringStack = new CustomStack();

            

            CustomStack<Integer> integerStack = new CustomStack();

        

            stringStack.pop( "홍길동" );

            

        }

        

    }



    출처: https://2dubbing.tistory.com/17 [비실이의 개발공간]

    '컴퓨터 공부 > JAVA' 카테고리의 다른 글

    HashMap<K,V>  (0) 2020.03.28
    Iterator -> 순차 검색  (0) 2020.03.28
    Object, Wrapper class  (0) 2020.03.27
    인터페이스  (0) 2020.03.26
    추상 메소드와 추상 클래스  (0) 2020.03.26
Designed by Tistory.