10 / 10 / 6
Регистрация: 14.03.2011
Сообщений: 392
1

Входят ли все элементы одного одномерного массива в другой одномерный массив?

23.01.2014, 14:09. Показов 4244. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день уважаемые форумчане, будьте так любезны подскажите пожалуйста в данном вопросе.

Имеются два массива:

String[] first={"A","B","C","D"}
String[] second={"B","K","A","D","C","F","J"}

Как можно проверить, входят ли все элементы массива first в массив second ?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.01.2014, 14:09
Ответы с готовыми решениями:

Выбрать все нечетные элементы произвольного одномерного массива в другой массив
Выбрать все нечетные элементы произвольного одномерного массива в другой массив

Выберите все четные элементы произвольного одномерного массива в другой массив
Помогите очень срочно,нужен код,не знаю как написать эту программу Выберите все четные элементы...

Выберите все четные элементы произвольного одномерного массива в другой массив
Выберете все четные элементы произвольного одномерного массива в другой массив

Выбрать из одномерного массива длины 10 все четные элементы и занести их в другой массив
Всем привет! Нужна ваша помощь. На visual studio 19 надо написать программу на языке C++ с...

6
993 / 521 / 102
Регистрация: 19.03.2013
Сообщений: 3,113
Записей в блоге: 19
23.01.2014, 14:21 2
Вот тут примеры хорошей реализации http://stackoverflow.com/quest... tain-value
0
любитель покушать
686 / 640 / 248
Регистрация: 25.09.2011
Сообщений: 1,313
23.01.2014, 14:26 3
Critically, ну можно так
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
package com.sevak_avet.Test;
 
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
 
public class Test {
    public static void main(String[] args) {
        String[] first={"A","B","C","D", "Z", "Z"};
        String[] second={"B","K","A","D","C","F","J"};
        
        // ВАРИАНТ 1
        Set<String> firstSet = new HashSet<>(Arrays.asList(first));
        Set<String> secondSet = new HashSet<>(Arrays.asList(second));
        
        System.out.println(firstSet);
        System.out.println(secondSet);
        
        boolean found = true;
        for(String s : firstSet) {
            if(!secondSet.contains(s)) {
                found = false;
                break;
            }
        }
        
        System.out.println(found);
        
        // ВАРИАНТ 2
        boolean found2 = true;
        for(String f : first) { // проходимся по всем элементам первого списка и ищем эквивалентные во втором
            boolean curFound = false; // изначально элемент не найден
            for(String s : second) { 
                if(f.equals(s)) { // если нашли экевивалентный
                    curFound = true; // выходим из цикла
                    break;
                }
            }
            
            if(!curFound) { // если не найден
                found2 = false; // то не все элементы содержатся во втором массиве
                break;
            }
        }
        
        System.out.println(found2);
        
        // ВАРИАНТ 3
        System.out.println(secondSet.contains(firstSet));
    }
}
1
10 / 10 / 6
Регистрация: 14.03.2011
Сообщений: 392
23.01.2014, 14:27  [ТС] 4
Java
1
2
3
    if (Arrays.asList(second).contains(first)){
        System.out.println("Yes");           
}
Не работает почему то...
0
любитель покушать
686 / 640 / 248
Регистрация: 25.09.2011
Сообщений: 1,313
23.01.2014, 14:30 5
Java
1
2
3
4
5
// ВАРИАНТ 3
System.out.println(secondSet.containsAll(firstSet));
        
// ВАРИАНТ 4
System.out.println(Arrays.asList(second).containsAll(Arrays.asList(first)));
1
10 / 10 / 6
Регистрация: 14.03.2011
Сообщений: 392
23.01.2014, 14:36  [ТС] 6
Добавлено через 1 минуту
Какой самый быстрый вариант не подскажете ?
0
любитель покушать
686 / 640 / 248
Регистрация: 25.09.2011
Сообщений: 1,313
23.01.2014, 14:44 7
Critically, последний вариант исправленный, contains работает для одного элемента, а containsAll уже для коллекции, как нам и надо

Добавлено через 7 минут
Ну containsAll работает так:
Java
1
2
3
4
5
6
public boolean containsAll(Collection<?> c) {  
        for (Object e : c)  
            if (!contains(e))  
                return false;  
        return true;  
}
Java
1
2
3
public boolean contains(Object o) {  
        return indexOf(o) != -1;  
}
Java
1
2
3
4
5
6
7
8
9
10
11
12
public int indexOf(Object o) {
        if (o == null) {
            for (int i = 0; i < size; i++)
                if (elementData[i]==null)
                    return i;
        } else {
            for (int i = 0; i < size; i++)
                if (o.equals(elementData[i]))
                    return i;
        }
        return -1;
    }
2
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.01.2014, 14:44
Помогаю со студенческими работами здесь

Все положительные элементы двумерного массива записать в один одномерный массив, а остальные в другой
Дан двумерный массив размером n на n заполнены целыми числами. все его положительные элементы...

Все положительные элементы двумерного массива записать в один одномерный массив, а остальные – в другой
Работа с несколькими массивами: Дан двумерный массив размером nxn , заполненный целыми числами....

Возможно ли, меняя элементы одномерного массива A, получить одномерный массив B.
В процедуре составить программу, проверяющую, можно ли, меняя элементы одномерного массива A,...

Скопировать из матрицы в один одномерный массив все положительные элементы, а в другой – все отрицательные
Заполнить с клавиатуры двумерный массив на 20 элементов. Скопировать из него в один одномерный...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru