HashSet의 HashSet을 만들었습니다. 하위 집합 안의 정수 값에 액세스하려고합니다. 내 HashSet HashSet은 다음과 같은 Set의 모든 하위 집합을 포함하는 집합입니다. -HashSet의 HashSet 요소에 액세스 중
[], [1], [2], [1], [3], [1 , [3], [4], [1,4], [2, 3], [1,2,3], [2,4], [3,4], [1, 2, 4] , 3, 4], [2, 3, 4], [1, 2, 3, 4].
enter code here
코드는 다음과 같습니다
public class Subsets {
public static void main(String[] args){
Set<Set<Integer>> subsets1 = new HashSet<Set<Integer>>();
Set<Integer> mySet = new HashSet<Integer>();
mySet.add(1);
mySet.add(2);
mySet.add(3);
subsets1 = powerSet(mySet);
}
public static <E> Set<Set<E>> powerSet(Set<E> originalSet) {
Set<Set<E>> sets = new HashSet<Set<E>>();
if (originalSet.isEmpty()) {
sets.add(new HashSet<E>());
return sets;
}
List<E> list = new ArrayList<E>(originalSet);
E head = list.get(0);
Set<E> rest = new HashSet<E>(list.subList(1, list.size()));
for (Set<E> set : powerSet(rest)) {
Set<E> newSet = new HashSet<E>();
newSet.add(head);
newSet.addAll(set);
sets.add(newSet);
sets.add(set);
}
return sets;
}
}
그리고? 뭐가 문제 야? 코드는 집합의 요소를 반복하는 방법을 이미 알고 있음을 보여줍니다. –
"액세스"란 무엇을 의미합니까? 당신은 그들과 무엇을하고 싶습니까? –
나는 더 큰 세트의 각 요소를 반복하고 다른 루프는 반복 할 수있는 부분 집합을 반복하고 싶습니다. 요소는 액세스 할 수 없습니다. 이것이 가능하지 않으면 대체 솔루션을 제공하십시오. –