-
ArrayList<String>
Считывается как ArrayList из String ArrayList,
используемого для хранения String
Класс ArrayList принадлежит к классу парадигмы, является своего рода контейнерным
ArrayList<String>
классом, принадлежащим классу контейнера , используемым для хранения объектов, состоящих из типа контейнера и типа элемента
Знать некоторое встроенное использование класса контейнера, сэкономить много вещей -
Каждый элемент в массиве объектов является менеджером объекта, а не сам объект
Простое создание массива не создает в нем всех объектов
int[] ia = new int[10];
String[] a = new String[10];
System.out.println(ia[0]);
System.out.println(a[0]);
Выход
0
null
- для каждого цикла и массива объектов
class Value{
private int i;
public void set(int i){
this.i = i;}
public int get(){
return i;}
}
Value[] a = new Value[10];
for(int i=0;i<a.length;i++){
a[i]=new Value();
a[i].set(i);
}
for (Value v: a){
System.out.println(v.get());
v.set(0);
}
for (Value v: a){
System.out.println(v.get());
}
输出 0123456789 0000000000
- Можно ли заменить массив объектов контейнерным классом
ArrayList<String> a = new ArrayList<String>();
a.add("first");
a.add("second");
for(String s:a){
System.out.println(s);
}
}
输出 first second
абсолютно нормально
- ArrayList - это последовательные контейнеры, последовательные элементы, многоразовый
HashSet - это контейнер для сбора, а не порядок элементов не повторяется
Пример
ArrayList<String> a = new ArrayList<String>();
a.add("first");
a.add("second");
a.add("first");
System.out.println(a);
HashSet<String> b = new HashSet<String>();
b.add("first");
b.add("second");
b.add("first");
System.out.println(b);
输出
[first, second, first]
[first, second]
- Функция ToString (), которая будет активно вызываться
例
class Value{
private int i;
public void set(int i){
this.i = i;}
public int get(){
return i;}
}
main函数里
Value v =new Value();
v.set(10);
System.out.println(v);
输出
notebook.Value@1b6d3586
Если вы добавите в класс Value
public String toString(){
return ""+i;}
则输出
10
Arraylist и hashset могут быть выведены напрямую, указывая на то, что функция toString реализована внутри
- Хеш-таблица, структура данных, все элементы представляют собой пару значений.
Например:HashMap<Integer,String>
почему int не подходит: это объектно-ориентированный мир.
Переменная типа пакета (Integer) может напрямую принимать переменную соответствующего ей базового типа (int)
例
类里
public HashMap<Integer,String> coinnames = new HashMap<Integer,String>();
构造函数里
System.out.println(coinnames);
输出
{
1=penny, 50=half-dollar, 5=nickel, 25=quarter, 10=dime}
- Как пройти по хеш-таблице
例
for(Integer k:coinnames.keySet()){
String s = coinnames.get(k);
System.out.println(s);
}
输出
penny
half-dollar
nickel
quarter
dime
Примечание. Также необходимо передать длину хеш-таблицы.keySet().size()