Java 6 SE устарели векторы? - PullRequest
       3

Java 6 SE устарели векторы?

3 голосов
/ 23 апреля 2011
package myjava;
import java.util.*;
public class Vectors {
    public static void vec() {
        Vector v = new Vector();
    }
}

Я использую Net Bean IDE 6.9.1, и он говорит мне, что это «Устаревшая коллекция». Помимо очевидного, что это устарело, буду ли я когда-либо использовать его в Java? Я был действительно взволнован их использованием ..

Ответы [ 4 ]

5 голосов
/ 23 апреля 2011

Использование Vector s уже давно не поощряется.Они заменены на ArrayList, который имеет более или менее ту же функциональность (но не синхронизирован).

2 голосов
/ 23 апреля 2011

java.util.Vector или java.util.Hashtable. Хотя эти классы все еще поддерживаются, эти классы устарели из-за классов JDK1.2 и, вероятно, их не следует использовать в новых разработках.

2 голосов
/ 23 апреля 2011

Как указано в ответе выше, вам также следует использовать универсальную версию ArrayList, поскольку неуниверсальная версия предназначена только для поддержки Java 1.4 (4).

Пример:

//ArrayList of integers
ArrayList<Integer> list = new ArrayList<Integer>();
2 голосов
/ 23 апреля 2011

Это вообще устарело, да.С точки зрения того, что это такое, это то же самое, что ArrayList с немного другими характеристиками роста;Вектор также синхронизируется в каждом методе, что означает (возможное) снижение производительности при каждом вызове для синхронизации.В Java 6 синхронизация далеко не такая дорогая, как в предыдущих версиях Java, но в результате все равно остается предпочтение STRONG для ArrayList вместо Vector.

Аналогично, вы должны предпочесть HashMapв HashTable.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...