2
고유 한 요소 집합이 있습니다 (두 개의 동일한 요소가 없음). 그리고 세트에서 무작위로 다른 요소 N 개를 추출하고 싶습니다. 자바에서 가장 쉬운 방법은 무엇입니까?고유 한 요소 집합에서 N 개의 임의의 다른 요소를 추출하는 방법은 무엇입니까?
고유 한 요소 집합이 있습니다 (두 개의 동일한 요소가 없음). 그리고 세트에서 무작위로 다른 요소 N 개를 추출하고 싶습니다. 자바에서 가장 쉬운 방법은 무엇입니까?고유 한 요소 집합에서 N 개의 임의의 다른 요소를 추출하는 방법은 무엇입니까?
Set<MyObject> mySet = getTheSetFromSomeWhere();
List<MyObject> myObjects = new ArrayList<MyObject>(mySet);
Collections.shuffle(myObjects);
myObjects = myObjects.subList(0, n);
쿨! 나는이 해결책을 좋아한다. 나는 그것이 오랫동안 될 것이라고 생각했다. 그러나 이것은 짧고 분명합니다. 감사! – Roman
왜 내가 당황하게하는지는'java.util.Arrays.shuffle()'메소드가 없다는 것입니다. –
@Stephen :'Collections.shuffle (Arrays.asList (myArray))'를 실행하여 빠진 메소드를 쉽게 해결할 수 있습니다. –