Поиск общих файлов из двух массивов

Я пытаюсь найти общие имена файлов из двух массивов. Я сохранил имена файлов двух разных папок в двух разных массивах.

Теперь я создаю общий массив файлов, который будет иметь файлы с общим именем.

имена файлов 1: массив имен файлов в папке 1.

filename 2: Массив связанных имен файлов в папке 2.

import java.io.File;
import java.util.*;

public class ListFiles1 
{

    public static void main(String[] args) 
    {

        String path1 = "C:\\"; 

        String path2 = "D:\\"; 

        File folder1 = new File(path1);
        File folder2 = new File(path2);

        String[] f1=folder1.list();

        File[] listOfFiles1 = folder1.listFiles(); 
        File[] listOfFiles2 = folder2.listFiles(); 

        ArrayList<String> fileNames1 = new ArrayList<>();
        ArrayList<String> fileNames2 = new ArrayList<>();

        for (int i = 0; i < listOfFiles1.length; i++) 
        {

            if (listOfFiles1[i].isFile()) 
            {
                fileNames1.add(listOfFiles1[i].getName());
                System.out.println(f1[i] + " is a file");
            }

        }

        for (int j = 0; j < listOfFiles2.length; j++) 
        {

            if (listOfFiles2[j].isFile()) 
            {
                fileNames2.add(listOfFiles2[j].getName());
            }
        }

        ArrayList<String> commonfiles = new ArrayList<>();
        for (int i = 0; i < listOfFiles1.length; i++)
        {
        for (int j = 0; i < listOfFiles2.length; j++) 
            {
            String tempfilename1;
            String tempfilename2;
            tempfilename1=fileNames1[i];
            tempfilename2 = fileNames2[j];
            if(tempfilename1.equals(tempfilename2))
                {
                commonfiles.add(tempfilename1);
                }
            }
        }                   
    }
}

Я написал этот код, но компилятор выдает эту ошибку:

   Main.java:52: error: array required, but ArrayList<String> found
            tempfilename1=fileNames1[i];
                                    ^
Main.java:53: error: array required, but ArrayList<String> found
            tempfilename2 = fileNames2[j];
                                      ^

П.С .: Я новичок ...

Ответы на вопрос(2)

Ваш ответ на вопрос