8Eclipse 는 ArrayList, LinkedList 를 사용 합 니 다.

5856 단어
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">1.   Java         :           ,       ,           。   :</span>

public static final int AGE_0F_PERSON = 20;
2. 자바 에서 final 상수 를 설명 할 때 보통 static 키 워드 를 추가 합 니 다. 이러한 대상 의 모든 인 스 턴 스 는 유일한 상수 값 에 접근 합 니 다.
3. IDE (Integrated Development Environment), 통합 개발 환경.
1) NetBeans.http://netbeans.org/
2) JBuilder.
3) Intellij IDEA
4) 이 클립 스 (일식, 월식)
Eclipse 상용 설정
1. 스마트 알림. abcddefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTuvW
2. 포맷: 괄호 자동 줄 바 꾸 기
Windows-Preferences->Java-CodeStyle-->Formater>New
Braces nextline
ControlStatement=>general
단축 키 ctrl + shift + F
3. 제거 방법 자동 충전 매개 변수
Windows - Preferences -> Java - editor - ContentAssist - Fill method 인수 제거
단축 키
ctrl + shift + O 자동 가 져 오기 패키지
ctrl 을 누 르 고 대응 하 는 클래스 를 클릭 하여 원본 코드 를 봅 니 다.
alt + ← 이전 코드 로 돌아 가기
//* 주석 생 성 도움말 문서 프로젝트 - Genrate javadoc
4. 집합 에 저 장 된 것 은 대상 자체 가 아니 라 대상 의 인용 이다.
public class ArrayListTest5
{
	public static void main(String[] args)
	{
		ArrayList list = new ArrayList();
		
		list.add(new Point(2, 3));
		list.add(new Point(2, 2));
		list.add(new Point(4, 4));
		
		for(int i = 0; i < list.size(); i++)
		{
			System.out.println(list.get(i));//  Point toString  
<span style="white-space:pre">			</span>
}
		
		System.out.println(list);//  list toString  
	}
}

5. ArrayList 바 텀 은 배열 로 이 루어 집 니 다. 매개 변수 가 없 는 구조 방법 으로 ArrayList 대상 을 생 성 할 때 실제 적 으로 빈 Object 형식의 배열 을 구축 합 니 다.
 
 
 
 
 
 
 
 
public ArrayList(int initialCapacity) {
        super();
        if (initialCapacity < 0)
            throw new IllegalArgumentException("Illegal Capacity: "+
                                               initialCapacity);
        this.elementData = new Object[initialCapacity];
    }

    /**
     * Constructs an empty list with an initial capacity of ten.
     */
    public ArrayList() {
        super();
        this.elementData = EMPTY_ELEMENTDATA;
    }

6. 원 소 를 추가 할 때, 먼저 배열 용량 (ensureCapacity Internal 호출) 을 확인 하고, 배열 용량 이 10 (DEFAULT CAPACITY) 을 초과 하면 배열 을 확장 (grow) 하고, 원래 의 배열 을 새로운 배열 로 복사 합 니 다. 마지막 으로 새로 추 가 된 원 소 를 새 배열 의 끝 에 놓 습 니 다. (자바 1.7, 1.8 에서 자리 이동 (> 1)용량 을 늘 리 는 것 도 실제로는 길 이 를 원래 의 1.5 배로 바 꾸 는 것 과 같다. 1.6 과 다르다)
소스 코드 추가
/**
     * Appends the specified element to the end of this list.
     *
     * @param e element to be appended to this list
     * @return <tt>true</tt> (as specified by {@link Collection#add})
     */
    public boolean add(E e) {
        ensureCapacityInternal(size + 1);  // Increments modCount!!
        elementData[size++] = e;
        return true;
    }
private void ensureCapacityInternal(int minCapacity) {
        if (elementData == EMPTY_ELEMENTDATA) {
            minCapacity = Math.max(DEFAULT_CAPACITY, minCapacity);
        }

        ensureExplicitCapacity(minCapacity);
    }

    private void ensureExplicitCapacity(int minCapacity) {
        modCount++;

        // overflow-conscious code
        if (minCapacity - elementData.length > 0)
            grow(minCapacity);
    }
private void grow(int minCapacity) {
        // overflow-conscious code
        int oldCapacity = elementData.length;
        int newCapacity = oldCapacity + (oldCapacity >> 1);
        if (newCapacity - minCapacity < 0)
            newCapacity = minCapacity;
        if (newCapacity - MAX_ARRAY_SIZE > 0)//private static final int MAX_ARRAY_SIZE = Integer.MAX_VALUE - 8;

            newCapacity = hugeCapacity(minCapacity);
        // minCapacity is usually close to size, so this is a win:
        elementData = Arrays.copyOf(elementData, newCapacity);
    }

7. ArrayList 요소 의 삭제 작업 은 삭 제 된 요소 의 후속 요 소 를 앞으로 이동 시 켜 야 하 며 대가 가 비교적 높다.
public E remove(int index) {
        rangeCheck(index);

        modCount++;
        E oldValue = elementData(index);

        int numMoved = size - index - 1;
        if (numMoved > 0)
            System.arraycopy(elementData, index+1, elementData, index,
                             numMoved);
        elementData[--size] = null; // clear to let GC do its work

        return oldValue;
    }

8. 집합 에 대상 의 인용 만 놓 을 수 있 고 원생 데이터 형식 을 놓 을 수 없습니다. 우 리 는 원생 데이터 형식의 포장 류 를 사용 해 야 집합 에 가입 할 수 있 습 니 다.
9. 집합 에 있 는 것 은 모두 Object 타 입 이 므 로 꺼 낸 것 도 Object 타 입 이 므 로 강제 타 입 을 사용 하여 실제 타 입 으로 전환 해 야 합 니 다 (넣 은 타 입).
10. ArrayList 와 LinkedList 에 대한 비교 분석
a) ArrayList 바 텀 은 배열 (순서 표) 로 이 루어 지고 LinkedList 바 텀 은 양 방향 링크 로 이 루어 진다.
b) 삽입 또는 삭제 작업 을 수행 할 때 LinkedList 를 사용 하 는 것 이 좋 습 니 다.
c) 검색 작업 을 수행 할 때 ArrayList 를 사용 하 는 것 이 좋 습 니 다.
LinkedList 소스 코드:
public LinkedList() {
    }
public boolean add(E e) {
        linkLast(e);
        return true;
    }
void linkLast(E e) {
        final Node<E> l = last;
        final Node<E> newNode = new Node<>(l, e, null);
        last = newNode;
        if (l == null)
            first = newNode;
        else
            l.next = newNode;
        size++;
        modCount++;
    }
private static class Node<E> {
        E item;
        Node<E> next;
        Node<E> prev;

        Node(Node<E> prev, E element, Node<E> next) {
            this.item = element;
            this.next = next;
            this.prev = prev;
        }
    }

 
저작권 성명: 본 고 는 블 로 거들 이 창작 한 글 로 블 로 거들 의 허락 없 이 전재 할 수 없다.

좋은 웹페이지 즐겨찾기