자바에서 연결된 목록을 정렬하는 방법

작가: Randy Alexander
창조 날짜: 23 4 월 2021
업데이트 날짜: 23 십일월 2024
Anonim
자바 : 쉽게 텍스트 파일 읽기
동영상: 자바 : 쉽게 텍스트 파일 읽기

콘텐츠

자바에서 링크드 목록을 구성하는 방법. 닫힌 목록은 프로그래밍 세계의 주요 데이터 유형 중 하나입니다. 다음 노드를 가리키는 데이터 및 참조가 포함 된 노드 조직입니다. Java에서 링크 된 목록을 정렬하려면 알고리즘을 순서대로 구현하는 Collections 프레임 워크와 함께 작동하는 목록 클래스가 있습니다.


지침

Java에서 링크 된 목록 구성 (Fotolia.com에서 danimages하여 심문 이미지)

    Java에서 링크 된 목록 정렬

  1. 새 LinkedList 객체를 만들고 LinkedList 변수를 할당하여 링크 된 목록을 선언하십시오. LinkedList는 generic List 클래스에서 가져 오므로 List를 허용하는 모든 메서드는 LinkedList 객체에서도 허용됩니다. ""LinkedList l = 새 LinkedList (); ""

  2. 동일한 유형의 객체 (예 : 정수)를 목록에 추가하십시오. 이들은 모든 종류의 객체가 될 수 있지만 링크 된 목록을 정렬하려면 모두 동일한 유형이어야합니다.

  3. List.addFirst 메서드를 사용하여 목록의 맨 위에 새 객체를 삽입하면 추가하는 모든 객체가 반대 순서가됩니다. 목록의 끝에 추가하려면 List.addLast 메서드를 사용합니다. ""list.addFirst (1); list.addFirst (3); list.addFirst (2); "

  4. iterator를 사용하여 목록을 반복하고 정렬 방법이 무엇을하는지보기 전후에 인쇄하십시오. ""for (Iterator i = list.iterator (); i.hasNext ();) {System.out.println (i.next ());} "

    기본 및 사용자 지정 비교자를 사용하여 정렬

  1. 목록을 기본 비교 자로 정렬하십시오. Comparator는 두 객체를 비교하는 객체입니다. 기본 비교 자 객체는 더 작은 연산자를 사용하므로 목록은 오름차순으로 정렬됩니다. 목록을 정렬하려면 정적 Collections.sort 메서드를 사용합니다. ""Collections.sort (목록); ""


  2. y) {return -1; "> 비교 인터페이스를 구현하는 클래스를 작성하고이를 순서 인수로 인스턴스에 전달하여 사용자 정의 비교 자로 목록을 정렬하십시오. 비교자를 구현하는 클래스는 단순한 "공용 클래스 GreaterThan은 Comparator를 구현합니다. if (x == y) {return 0;} else {return 1;}}}"

  3. GreaterThan의 새 인스턴스를 두 번째 인수로 전달하여 Collections.sort에 대한 호출을 사용합니다. 큰 개체는 다른 개체보다 앞에 있으므로 목록은 오름차순이 아닌 내림차순으로 정렬됩니다. 또는 입력 한 사용자 지정 클래스에서 개체 목록을 정렬하는 경우이 클래스는 별도의 Comparator 클래스를 사용하는 대신 Comparable 인터페이스를 구현할 수 있습니다. ""Collections.sort (list, new GreaterThan ()); ""

어떻게

  • 회로 및 List.size () 메서드에서 반복 할 정수를 사용하는 것이 문제입니다. 닫힌리스트를 반복하는 것은 값 비싼 계산 작업입니다. 모든 명령에서와 같이 인덱스 연산자 (예 : l [2])를 사용하는 경우 Java는 인덱스 2에 도달 할 때까지 목록을 반복해야합니다. 작은 목록의 경우 이는 큰 것이지만, 인덱스 연산자를 사용하여 많은 리소스가 필요한 무언가로 바뀝니다.
  • LinkedList는 동일한 인터페이스를 구현하므로 List 객체가 어떻게 구현 되더라도 상관 없습니다.
  • 비교 메소드는 arg0가 arg1보다 먼저 정렬되면 -1로, 똑같이 정렬되면 0으로, arg0보다 앞에 arg1이 정렬되면 1로 반환됩니다.

공지 사항

  • iterator 객체는 목록의 각 노드가 한 번만 방문하도록합니다. 필요없이 우리를 방문하면 프로그램이 오작동하는 지점까지 데이터 구조를 남용 할 수 있으므로 기억해야 할 중요한 사항입니다.

13 세를 보완하는 것은 청소년기에 중요한시기이며, 청소년기가 성인기의 길이며 실제로 성장하고 있음을 보여줍니다. 특별한 13 번째 생일을 맞이하는 것이 중요합니다. 13 세 어린이를위한 깜짝 파티를 계획하고 있다면 테마 및 기타 재미있는 아이디어를위한 아이디어는 끝이 없습니다. 십대들은 깜짝 파티를 좋아하므로 좋은 파티를 만드십시오. (Fotolia.co...

일반적인 믿음과는 달리, 자연의 아프리카 머리카락은 길 들이기가 어렵지 않습니다. 스트랜드가 단단히 닫힌 나선형이지만 머리카락에 공통적 인 헤어 스타일을 만들 수 있습니다. hairpout 또는 빨대를 적용하여 자연 아프리카의 머리카락을 볼 수 있습니다. 자연스러운 머리카락을 말끔하게 만들어주는 곱슬 머리 만들기 (Jupiterimage / Photodic...

최근 기사