一、数组
数组,可以简单的理解为一组数据,Java中的任何类型(基本类型和引用类型)都可以声明为一个数组
首先介绍下基本类型的数据声明方式,以int类型为例,按需选择如下其中一种方式
public static void main(String[] args) {
//初始化
int[] array = new int[3];
//再赋值
array[0] = 1 ;
array[1] = 2 ;
array[2] = 3 ;
System.out.println(array.length);//输出结果为3
}
public static void main(String[] args) {
//初始化的同时进行赋值
int[] array = {1,2,3};
System.out.println(array.length);//输出结果为3
}
如果想初始化一个空数组,可以使用:int[] array = new int[0]; 或 int[] array = {};
引用类型的声明方式一样
public class ArrayTest {
public static void main(String[] args) {
Person p = new Person("zhangsan");
Person[] array = {p};
System.out.println(array[0].getName());
}
}
class Person {
private String name ;
public Person(String name) {
this.name = name ;
}
public String getName() {
return name;
}
}
数组的优点是操作效率高,缺点就是一旦初始化,其容量就无法动态改变,如果想动态扩容,这时集合就应运而生
二、集合
根据接口,集合分为两类:Collection、Map
1、Collection:代表一组对象,有些允许重复的元素但有些不允许,有些元素是有序的但有些是无序的。List、Set作为该接口的实现接口,区别如下
- List :元素可以重复,有序
- Set :元素不可重复,无序(利用不可重复特点,可以用来去重)
2、Map:键值对key-value的组合,其中key不能重复