查找ArrayList是否包含atleat一个不同的字符串

时间:2015-10-08 06:26:26

标签: java arraylist

我有$(document).on('ready',function(){ $('.pager a').on('click', function (e) { var page = $(this).attr('href').split('page=')[1]; e.preventDefault(); $.ajax({ type: "POST", url: 'page=' + page, dataType: 'json', success:function(json){ alert("Success"+json); }, error:function(){ alert("Error"); } }); }); }); 个字符串,可能包含也可能不包含重复项,

Arraylistlist = ["car", "car", "car"]

我想知道下面的内容,

list = ["car", "car", "bike", "car"]

请以书面形式帮助我。

3 个答案:

答案 0 :(得分:7)

将所有值放在Set中,并检查尺寸是否为1或更多。

List<String> list = Arrays.asList("car", "car", "bike", "car");
Set<String> unique = new HashSet<String>(list);
boolean same;

if (unique.size() > 1) {
    same = false;
} else {
    same = true;
}
System.out.println(same); // prints false
System.out.println(list); // prints [car, car, bike, car]

答案 1 :(得分:6)

如果您使用的是Java 8,那么这很简单:

same = list.stream().distinct().count() > 1

如果您不熟悉流,则可以将此语句解释为:在列表中创建项目流,过滤掉所有重复项,然后计算流中剩余的唯一项目数。

答案 2 :(得分:0)

containsAll()可以检查列表是否存在所有传递的参数。它接受Collection类型参数作为参数,因此再一个列表只传递该列表中的一个参数,并将其作为参数传递给containsAll()。以下是虚拟可行代码

public static void main(String[] args)
{
    List<String> list = new ArrayList<String>();
    list.add("Car");
    list.add("Car");
    list.add("Car");

    List<String> paramlist = new ArrayList<String>();
    paramlist.add("Car");
    boolean same = false;
    if(list.containsAll(paramlist)){
        same = true;
    }
    else{
        same = false;
    }

}