ページ 1 / 1
arraylistの要素のチェック方法について
Posted: 2014年8月20日(水) 15:48
by まるみ
javaでandroid用のゲームを作ってます。
教えて欲しいのですが、
arraylistの要素がすべて1000になってるかどうかをチェックして
全て1000ならFlagを立てるって処理を行いたいのですが、
この場合、ループで1要素ずつ確認していくしかないのでしょうか?
arraylist には文字列ではなく、数値が入ってます。
よろしくお願いします。
Re: arraylistの要素のチェック方法について
Posted: 2014年8月20日(水) 23:27
by YuO
AndroidはJava 6相当なので,すべて見るしか方法はないと思います。
Java 8ならばstreamが使えるので,
コード:
import java.util.List;
import java.util.ArrayList;
public class Test
{
public static void main (String[] args)
{
List<Integer> list = new ArrayList<>();
for (int i = 0; i < 10000; ++i) {
list.add(1000);
}
System.out.println(list.stream().allMatch(n -> n == 1000));
list.set(500, 0);
System.out.println(list.stream().allMatch(n -> n == 1000));
}
}
と書けるのですが……。
Re: arraylistの要素のチェック方法について
Posted: 2014年8月21日(木) 03:07
by かずま
これでどうでしょうか?
コード:
import java.util.List;
import java.util.ArrayList;
public class Test {
public static void main (String[] args) {
List<Integer> list = new ArrayList<Integer>(10000);
for (int i = 0; i < 10000; i++) list.add(1000);
List<Integer> v = new ArrayList<Integer>(1);
v.add(1000);
boolean flag = v.containsAll(list);
System.out.println(flag);
list.set(500, 0);
flag = v.containsAll(list);
System.out.println(flag);
}
}
Re: arraylistの要素のチェック方法について
Posted: 2014年8月21日(木) 11:41
by まるみ
かずま さん
containsAllというのがあるんですね。
これで試してみたいと思います。
情報ありがとうございました。