Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java中创建一个循环,在ArrayList中查找每个不同的数字?_Java_Arraylist_Get - Fatal编程技术网

如何在java中创建一个循环,在ArrayList中查找每个不同的数字?

如何在java中创建一个循环,在ArrayList中查找每个不同的数字?,java,arraylist,get,Java,Arraylist,Get,我有一个名为StudentList的java类,我想创建一个方法,该方法将遍历每个学生并检查他们的组号。然后将它们添加到arraylist中,如果组号已经在arraylist中,则会跳过它。但是我如何创建一个跳过重复项的循环呢 我尝试过使用for循环,但我想不出一个解决方案超过这一点: public ArrayList<Integer> getAllGroupNumbers() { ArrayList<Integer> a = new ArrayList<I

我有一个名为StudentList的java类,我想创建一个方法,该方法将遍历每个学生并检查他们的组号。然后将它们添加到arraylist中,如果组号已经在arraylist中,则会跳过它。但是我如何创建一个跳过重复项的循环呢

我尝试过使用for循环,但我想不出一个解决方案超过这一点:

public ArrayList<Integer> getAllGroupNumbers() {
    ArrayList<Integer> a = new ArrayList<Integer>();
    for(int i = 0; i < list.size(); i++)
    {
        if(list.get(i).getGroupNumber() != ...)
    }
}

可以使用ArrayList中的.contains方法检查列表中是否已存在元素。示例代码如下所示

for(int i = 0; i < list.size(); i++)
{
  Integer groupNumber = list.get(i).getGroupNumber();
  if( !a.contains(groupNumber) ) {
     a.add(groupNumber);
  }
}

当你不想要重复的时候,你使用列表的目的是什么?我遵循一个类图。仅仅使用数组会更容易吗?对于Java8,您可以使用streams操作。for循环是强制性的吗?我们还没有涉及到streams,它特别指出要使用一个可能重复的for循环