Ошибка конструктора ArrayList - PullRequest
0 голосов
/ 06 июня 2018

Я новичок в Java, в настоящее время использую Java версии 8. Во время кодирования у меня была следующая проблема, но я действительно не могу найти, в чем проблема.Я попытался создать ArrayList, объявив ...

ArrayList al=new ArrayList(100000);  

... с начальной емкостью 100000. Но программа возвращает сообщение об ошибке ...

The constructor ArrayList(int) is undefined.

Чтобы убедиться, что я даже искал Документацию API класса java.util.ArrayList, которая, конечно, сказала ...

ArrayList​(int initialCapacity):
Constructs an empty list with the specified initial capacity.

... в его сводке Конструктора.

Кроме того, вторая проблема:
После того, как я объявил ArrayList, я попытался использовать его в качестве аргумента для метода add, но он говорит ...

The method add(List) in the type ArrayList3 is not applicable for the arguments (ArrayList). 

Мой полный код здесь:

import java.util.*;
public class ArrayList3 {
        public static void main(String[] args) {
                ArrayList al=new ArrayList(100000);
                LinkedList ll=new LinkedList();
                System.out.println("ArrayList: "+add(al));
                System.out.println("LinkedList: "+add(ll));
        }

        public static long add(List list) {
            long start = System.currentTimeMillis();
            for(int i=0;i<10000;i++) 
                list.add(i+" ");
            long end = System.currentTimeMillis();
            return start - end;
        }
}

В чем проблема, и что я мог пропустить?Заранее большое спасибо!

1 Ответ

0 голосов
/ 06 июня 2018

В вашем пакете есть еще один класс ArrayList, и он конфликтует с java.util.ArrayList.Либо это реальный класс, либо, возможно, это результат предыдущей компиляции.

Обратите внимание, что он не будет компилироваться из-за конфликтующих имен

package stackOv;    
import java.util.*;
public class ArrayList {
    public static void main(String[] args) {
        ArrayList al=new ArrayList(100000);
    }
}

, пока компилируется,поскольку использование полных имен разрешает конфликт

import java.util.*;
public class ArrayList {
    public static void main(String[] args) {
        java.util.ArrayList al=new java.util.ArrayList(100000);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...