>  기사  >  Java  >  Java의 HashSet 또는 LinkedHashSet에서 임의 요소를 선택하는 방법은 무엇입니까?

Java의 HashSet 또는 LinkedHashSet에서 임의 요소를 선택하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-10-28 02:57:30658검색

How to Choose a Random Element from a HashSet or LinkedHashSet in Java?

세트에서 임의 요소 선택

세트에서 임의 요소를 검색하는 것은 다양한 프로그래밍 시나리오에서 편리한 작업이 될 수 있습니다. Java는 두 가지 일반적인 유형의 집합인 HashSet과 LinkedHashSet을 제공하며 각각 고유한 특성을 가지고 있습니다. 이 기사에서는 이러한 세트에서 임의의 요소를 선택하는 접근 방식을 살펴봅니다.

HashSet

HashSet은 고유한 요소를 보장하는 순서가 지정되지 않은 컬렉션입니다. 무작위 항목을 선택하려면 세트의 크기를 결정하고 해당 범위 내에서 무작위 정수를 생성하십시오. 요소를 반복하면서 무작위로 선택된 인덱스에 도달할 때까지 각 요소의 수를 세고 해당 요소를 반환합니다.

<code class="java">int size = myHashSet.size();
int item = new Random().nextInt(size); // In real life, the Random object should be rather more shared than this
int i = 0;
for(Object obj : myhashSet)
{
    if (i == item)
        return obj;
    i++;
}</code>

LinkedHashSet

LinkedHashSet은 삽입을 유지하여 HashSet을 확장합니다. 주문하다. 삽입 순서가 유지되므로 위에서 언급한 것과 동일한 접근 방식을 적용하여 무작위 요소를 검색할 수 있습니다.

<code class="java">int size = myHashSet.size();
int item = new Random().nextInt(size); // In real life, the Random object should be rather more shared than this
int i = 0;
for(Object obj : myhashSet)
{
    if (i == item)
        return obj;
    i++;
}</code>

이러한 방법을 사용하면 Java의 HashSet 또는 LinkedHashSet에서 무작위 요소를 선택할 수 있는 간단한 방법이 제공됩니다. 셔플된 컬렉션 생성, 시뮬레이션 실험을 위한 항목 선택, 의사 난수 데이터 구조 생성 등 다양한 애플리케이션에서 구현할 수 있습니다.

위 내용은 Java의 HashSet 또는 LinkedHashSet에서 임의 요소를 선택하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.