Я пытаюсь динамически загружать классы в компонент. Я использую средство выбора файлов, чтобы выбрать файл .JAR, который будет загружен, а затем панель параметров, чтобы получить имя класса.
Я пробирался по Интернету в поисках того, как преобразовать файл Java в URL для того, чтобы чтобы загрузить его в URLClassLoader, и я пришел к выводу:
File myFile = filechooser.getSelectedFile();
String className = JOptionPane.showInputDialog(
this, "Class Name:", "Class Name", JOptionPane.QUESTION_MESSAGE);
URL myUrl= null;
try {
myUrl = myFile.toURL();
} catch (MalformedURLException e) {
}
URLClassLoader loader = new URLClassLoader(myUrl);
loader.loadClass(className);
Теперь я получаю «не могу найти символ» или что-то еще?
TreeSet основан на TreeMap. И они используют красно-черное дерево, красно-черное дерево является разновидностью AVL.
Из java.util.TreeMap
документации:
реализация красно-черного дерева на основе
NavigableMap
.
По подобным вопросам всегда следует сначала обращаться к документации. API не должен описывать ВСЕ внутреннюю работу класса
, но обычно документируется элементарная информация, такая как общие структуры данных и используемые алгоритмы.
Это все маленькие мелочи, которые также четко задокументированы:
TreeSet
реализован с помощью TreeMap
HashSet
реализован с HashMap
Collections.sort
использует модифицированную сортировку слияниемMap
не является Collection>
ArrayList
не указывает точную политику роста (в отличие, скажем, от Vector
)