Во-первых, я бы посоветовал вам использовать дженерики .А во-вторых, для a2
вместо этого может быть Set
.И в-третьих, вы можете захотеть изменить значение с String
на Integer
(поскольку все они являются целыми числами).
Но для вашего примера это способ сделать это:
ArrayList<Integer> a3 = new ArrayList<Integer>();
for (String a : a1)
a3.add(a2.contains(a) ? 1 : 0);
Полный пример (с типами HashSet
и Integer
):
public static void main(String... args) {
List<Integer> a1 = Arrays.asList(5, 10, 20, 50, 100, 500, 1000);
Set<Integer> a2 = new HashSet<Integer>(Arrays.asList(50, 500, 1000));
ArrayList<Integer> a3 = new ArrayList<Integer>();
for (Integer a : a1)
a3.add(a2.contains(a) ? 1 : 0);
System.out.println(a3);
}
Выход:
[0, 0, 0, 1, 0, 1, 1]