Я пытаюсь написать логический метод isSubset (возвращает логическое значение, если каждый элемент в наборе A находится в наборе B и false в противном случае), где вызов метода может быть записан следующим образом: setA.subsetOf(setB)
. Моя мысль состоит в том, чтобы извлечь каждый элемент setA и сравнить его с setB. Если первый элемент setA сопоставляется с любым в setB, переходим к следующему элементу в setA для проверки. Если все элементы в setA сопоставляются с любым элементом из setB, метод возвращает true, else (не все элементы из setA находятся в setB) возвращает false. Я уже писал метод для проверки удержания элемента в виде связанного списка, как следует:проверить подмножество между двумя связанными списками в java
public boolean contain (Object target) {
boolean status = false;
Node cursor;
for (cursor = head; cursor.getNext() != null; cursor = cursor.getNext()) {
if (target.equals(cursor.getElement()))
status = true;
}
return status;
}
Поскольку им до сих пор путают о синтаксисе сцепленных операции списка, мой вопрос заключается в том, чтобы извлечь каждый элемент и сделать все остальное , Любая помощь будет оценена по достоинству. Узел объявляется
public Node(Object o, Node n) {
element = o;
next = n;
}
SLinkedList
public SLinkedList() {
head = new Node(null, null); // create a dummy head
size = 0;
}
какой-либо причине вы не используете [ 'Set.containsAll'] (http://docs.oracle.com/javase/6/docs/api/java/util/ Set.html # containsAll (java.util.Collection))? –
Возможный дубликат [проверка подмножества между двумя наборами, хранящимися в 2 связанных списках, java] (http://stackoverflow.com/questions/14545977/check-for-subset-between-2-sets-stored-in-2- сопряженный списки-Java). Не возвращайте вопрос, который вы уже задали. Вместо этого спросите себя, почему вы не получили ответы, и улучшите свой вопрос. Вас несколько раз спрашивали, что такое класс Node, и почему вы не использовали java.util.set. –
@GordonBailey спасибо, но предположим, что я не использую какой-либо API – Casper