Java 컬렉션의 집합 인터페이스와 목록 인터페이스의 차이점
기본적으로 List와 Set은 모두 인터페이스이며 Collection 인터페이스를 상속합니다. 우리가 자주 사용하는 ArrayList 및 HashSet은 각각 List 및 Set 인터페이스를 상속하므로 실제 애플리케이션에서 사용하기 위해 실제 유형을 지정할 수 있습니다. 일반적으로 Map은 객체를 저장하는 데 사용됩니다. 물론 Map은 모두 삽입, 삭제 및 검색을 위한 인터페이스를 제공하고 Iterator 사용을 지원합니다. 그렇다면 List와 Set의 차이점은 무엇이며, 사용 시 어떻게 구별해야 할까요?
List와 Set의 차이점
(1) List와 Set의 매우 중요한 차이점은 List에서는 중복 요소를 허용하는지, Set에서는 중복 요소를 허용하지 않는지입니다. 동일한 요소가 삽입되어도 존재하게 됩니다. ArrayList와 HashSet에 각각 동일한 요소가 삽입된 것을 확인했습니다.
HashSet<String> hset = new HashSet<String>(); ArrayList<String> arrlst = new ArrayList<String>(); hset.add("hello"); hset.add("hello"); arrlst.add("hello"); arrlst.add("hello"); System.out.println("hset size: "+hset.size()+" toString: "+hset.toString()); System.out.println("arrlst size: "+arrlst.size()+" toString: "+arrlst.toString());
실행 결과:
PS: JDK 소스 코드를 보면 HashMap을 통해 HashSet 구현이 완료된 것을 볼 수 있습니다.
Java 학습 영상 추천: Java 시작하기
(2) List와 Set의 또 다른 매우 중요한 차이점은 요소가 저장되는 순서와 관련이 있습니다. List는 순서가 있는 컬렉션이고 Set은 순서가 없는 컬렉션입니다. 목록은 요소가 삽입되는 순서를 유지합니다. 즉, 이전에 삽입된 요소의 인덱스는 나중에 삽입된 요소의 인덱스보다 작습니다. 세트는 삽입 순서를 유지하지 않습니다. 마찬가지로 확인해 보겠습니다.
HashSet<String> hset = new HashSet<String>(); ArrayList<String> arrlst = new ArrayList<String>(); hset.add("1"); hset.add("3"); hset.add("2"); arrlst.add("1"); arrlst.add("3"); arrlst.add("2"); System.out.println("hset size: "+hset.size()+" toString: "+hset.toString()); System.out.println("arrlst size: "+arrlst.size()+" toString: "+arrlst.toString());
작업 결과:
PS: ArrayList는 개체 배열을 사용하여 개체를 저장하고 새 개체가 삽입될 때마다 HashSet의 크기만큼 삽입됩니다. , 앞서 언급했듯이 HashMap을 통해 구현됩니다. 저장된 객체는 HashMap의 키로 사용됩니다. 키가 동일하면 값이 대체됩니다. 물론 Set 인터페이스를 상속받은 SortedSet은 지정된 정렬 방식으로 요소를 저장할 수 있습니다.
(3) List는 첨자를 통해 접근할 수 있지만 Set은 접근할 수 없습니다.
List 인터페이스의 일반적인 구현 클래스에는 ArrayList, Vector 및 LinkedList가 포함되고 Set 인터페이스의 일반적인 구현 클래스에는 HashSet, TreeSet 및 LinkedHashSet이 포함됩니다.
더 많은 Java 관련 기사 추천: Java 입문 튜토리얼
위 내용은 Java 컬렉션의 집합 인터페이스와 목록 인터페이스의 차이점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제









멀티 스레딩과 비동기식의 차이점은 멀티 스레딩이 동시에 여러 스레드를 실행하는 반면, 현재 스레드를 차단하지 않고 비동기식으로 작업을 수행한다는 것입니다. 멀티 스레딩은 컴퓨팅 집약적 인 작업에 사용되며 비동기식은 사용자 상호 작용에 사용됩니다. 멀티 스레딩의 장점은 컴퓨팅 성능을 향상시키는 것이지만 비동기의 장점은 UI 스레드를 차단하지 않는 것입니다. 멀티 스레딩 또는 비동기식을 선택하는 것은 작업의 특성에 따라 다릅니다. 계산 집약적 작업은 멀티 스레딩을 사용하고 외부 리소스와 상호 작용하고 UI 응답 성을 비동기식으로 유지 해야하는 작업을 사용합니다.

이더 리움과 비트 코인의 차이는 중요합니다. 기술적으로 Bitcoin은 POW를 사용하고 Ether는 POW에서 POS로 전환했습니다. 비트 코인의 경우 거래 속도가 느리고 이더 리움은 빠릅니다. 응용 프로그램 시나리오에서 Bitcoin은 지불 스토리지에 중점을두고 Ether는 스마트 계약 및 DAPP를 지원합니다. 발행 측면에서 비트 코인의 총 금액은 2,100 만 명이며 에테르 코인의 고정 된 총량은 없습니다. 각 보안 문제가 가능합니다. 시장 가치 측면에서 비트 코인은 먼저 순위를 매기고 두 가지 가격 변동이 크지 만 특성이 다르기 때문에 이더 리움의 가격 추세는 독특합니다.

C 언어에는 내장 합계 기능이 없으므로 직접 작성해야합니다. 합계는 배열 및 축적 요소를 가로 질러 달성 할 수 있습니다. 루프 버전 : 루프 및 배열 길이를 사용하여 계산됩니다. 포인터 버전 : 포인터를 사용하여 배열 요소를 가리키며 효율적인 합계는 자체 증가 포인터를 통해 달성됩니다. 동적으로 배열 버전을 할당 : 배열을 동적으로 할당하고 메모리를 직접 관리하여 메모리 누출을 방지하기 위해 할당 된 메모리가 해제되도록합니다.

C 언어에서 char와 wchar_t의 주요 차이점은 문자 인코딩입니다. char ascii를 사용하거나 ascii를 확장하고, wchar_t는 유니 코드를 사용합니다. Char는 1-2 바이트를 차지하고 WCHAR_T는 2-4 바이트를 차지합니다. Char는 영어 텍스트에 적합하며 WCHAR_T는 다국어 텍스트에 적합합니다. Char_t는 널리 지원되며, 컴파일러 및 운영 체제가 유니 코드를 지원하는지 여부에 따라 다릅니다. Char는 문자 범위가 제한되며 WCHAR_T는 더 큰 문자 범위를 가지며 특수 함수는 산술 작업에 사용됩니다.

Ouyi Okex Digital Asset Trading 플랫폼은 전통적인 증권 시장과 다르며 하루에 24 시간 동안 운영되며 사용자는 언제든지 화폐 거래, 통화 거래 및 계약 거래를 수행 할 수 있습니다. 그러나 플랫폼은 시스템 유지 보수 업그레이드 또는 특별 시장 이벤트 (예 : 거래 중단 또는 계약 거래 위치 개방 규칙을 수정하는 등의 시장 변동을 일으키는 극한 시장 상황과 같은 경우 거래 시간 또는 규칙을 미리 발표하고 일시적으로 조정합니다. 따라서 사용자는 플랫폼 발표 및 시장 동향에 세심한주의를 기울이고 거래 기회를 포착하며 위험 관리에 적합한 일을하는 것이 좋습니다. Ouyi Okex 거래 시간 및 규칙 조정을 이해 함으로써만 디지털 통화 시장에서 편안하게 할 수 있습니다.

XML을 PDF로 직접 변환하는 응용 프로그램은 근본적으로 다른 두 형식이므로 찾을 수 없습니다. XML은 데이터를 저장하는 데 사용되는 반면 PDF는 문서를 표시하는 데 사용됩니다. 변환을 완료하려면 Python 및 ReportLab과 같은 프로그래밍 언어 및 라이브러리를 사용하여 XML 데이터를 구문 분석하고 PDF 문서를 생성 할 수 있습니다.

Apache 또는 Nginx와 PHP 간의 공동 작업 메커니즘 : Mod_php5, PHP-CGI 및 PHP-FPM의 비교는 Apache 또는 Nginx를 사용하여 웹 서버를 구축하고 백엔드에 PHP를 사용하는 것입니다 ...

GO 언어에서 구조를 정의하는 두 가지 방법 : VAR과 유형 키워드의 차이. 구조를 정의 할 때 Go Language는 종종 두 가지 다른 글쓰기 방법을 본다 : 첫째 ...
