Напишите функцию проверки вхождения списка L1 в список L2

Вывод:
Наш велосипед дает: true
Метод containsAll(Collection c) дает: true
Наш велосипед дает: false
Метод containsAll(Collection c) дает: false

code: #java
import java.util.Vector;
 
 
public class Exercise1 {
 
        public static boolean includesAll(Vector v1, Vector v2) {
                boolean flag = false;
                for(Object obj1 : v1) { // проходим по всем объектам первого вектора
                        for(Object obj2 : v2) { // и по всем объектам второго
                                if(obj1.equals(obj2)) { // если объект первого равен объекту второго
                                        flag = true; // то устанавливаем флажок в true, т.е. первый элемент первого вектора содержится во втором векторе
                                        break; // и выходим из второго цикла, т.к. дальше проверять уже не нужно
                                } else {
                                        flag = false; // если объекты не равны, то флажок ставится в false, и цикл продолжается 
                                }
                        }
                        // после каждого прохода будет проверяться флажок
                        if(flag) { // если true
                                continue; // то цикл переходит к следующему элементу первого вектора
                        } else { // если оказалось, что первый элемент так и не совпал ни с каким элементом второго вектора
                                break; // то выходим полностью из всех циклов, т.к. дальше проверять не нужно
                        }
                }
                return flag;
        }
 
        public static void main(String[] args) {
                // тестируем. Попутно используем метод
                // containsAll(Collection c) чтобы сравнивать результат
 
                // создадим первый список и добавим элементы
                Vector<String> firstList = new Vector<String>();
                firstList.add("a");
                firstList.add("b");
                firstList.add("c");
                firstList.add("d");
                firstList.add("e");
 
                // создадим второй список и добавим элементы
                Vector<String> secondList = new Vector<String>();
                secondList.add("e");
                secondList.add("c");
                secondList.add("a");
 
                // результат
                System.out.println("Наш велосипед дает: " + includesAll(secondList, firstList));
                System.out.println("Метод containsAll(Collection c) дает: " + firstList.containsAll(secondList));
 
                // добавим во второй список элемент, которого нет в первом
                secondList.add("x");
 
                // результат
                System.out.println("Наш велосипед дает: " + includesAll(secondList, firstList));
                System.out.println("Метод containsAll(Collection c) дает: " + firstList.containsAll(secondList));
        }
 
}

автор: exiqa

Поделиться:

Похожие статьи: