一、Java数组
定义:数组是一组相关类型的变量集合
如int a1,a2,a3,...,a100; 这样的就可以定义 int a[] = new int[100];
数组动态初始化
public static void main(String[] args) {
//数组动态初始化
int[] data = new int[4];
data[0] = 1;
data[1] = 2;
data[2] = 3;
data[3] = 4;
for (int i = 0;i<data.length;i++){
System.out.println(data[i]);
}
}
数组静态初始化
格式:
数据类型 数组名称 = new 数据类型[] {值, 值,…}
//数组静态初始化
int num[] = new int[]{1,2,3,4};
for (int i = 0;i<num.length;i++){
System.out.println(num[i]);
}
二维数组
数组的动态初始化:数据类型 对象数组[][] = new 数据类型[行个数][列个数];
/二维数组
int twoArr[][] = new int[][]{{1,2},{3,4,5},{6,7,8}};
//需要嵌套循环输出
for (int i = 0;i<twoArr.length;i++){
for (int j= 0;j<twoArr[i].length;j++){
System.out.print("twoArr[" + i + "][" + j + "]=" + twoArr[i][j] + "、");
}
System.out.println();
}
二、集合
ArrayList
因为List是个接口,所有介绍它的子类ArryList。
数组最大的缺陷就是:长度固定,而ArrayList是没有固定大小的限制,可以添加或者删除元素
ArrayList<Integer> nums = new ArrayList<>();
nums.add(1);
nums.add(2);
nums.add(3);
nums.add(2);
for (int i = 0;i<nums.size();i++){
System.out.println(nums.get(i));
}
元素可重复
HashSet
Set<Integer> numSet = new HashSet<>();
numSet.add(1);
numSet.add(2);
numSet.add(3);
numSet.add(1);
for (int num:numSet){
System.out.println(num);
}
元素不可重复
HashMap :键值对方式
HashMap<String, String> Sites = new HashMap<String, String>();
// 添加键值对
Sites.put("A", "Taobao1");
Sites.put("B", "Taobao2");
Sites.put("C", "Taobao3");
Sites.put("D", "Taobao4");
// 输出 key 和 value
for (String key : Sites.keySet()) {
System.out.println("key: " + key + " value: " + Sites.get(key));
}
// 返回所有 value 值
for(String value: Sites.values()) {
// 输出每一个value
System.out.print(value + ", ");
}
三、foreach
// 返回所有 value 值
for(String value: Sites.values()) {
// 输出每一个value
System.out.print(value + ", ");
}
foreach就是直接输出元素,不用根据position定位输出