Напишите функцию проверки вхождения списка L1 в список L2
Категория: Java
2012-03-02 16:24:18
Вывод:
Наш велосипед дает: 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
Поделиться: