java基础
一. 数组
数组概念: 数组就是存储数据长度固定的容器,保证多个数据的数据类型要一致。
1.1 数组的定义
1.1.1 指定长度
数组存储的数据类型[] 数组名字 = new 数组存储的数据类型[长度];
eg: int[] arr = new int[3];
数组有定长特性,长度一旦指定,不可更改。
1.1.2 指定元素
数据类型[] 数组名 = new 数据类型[]{元素1,元素2,元素3...};
int[] arr = new int[]{1,2,3,4,5};
或者
数据类型[] 数组名 = {元素1,元素2,元素3...};
int[] arr = {1,2,3,4,5};
1.2 数组的访问
索引: 每一个存储到数组的元素,都会自动的拥有一个编号,从0开始,这个自动编号称为数组索引 (index),可以通过数组的索引访问到数组中的元素。
数组名[索引]
数组的长度属性: 每个数组都有固定的长度,通过数组名.length,可以获取到数组的 长度。
//数组名.length-1 数组的最大索引值
public static void main(String[] args) {
int[] arr = new int[]{1,2,3,4,5}; //打印数组的属性,输出结果是5
System.out.println(arr.length);
}
索引访问数组中的元素:
数组名[索引]=数值,为数组中的元素赋值 变量=数组名[索引],获取出数组中的元素
public static void main(String[] args) {
//定义存储int类型数组,赋值元素1,2,3,4,5
int[] arr = {1,2,3,4,5};
//为0索引元素赋值为6
arr[0] = 6;
//获取数组0索引上的元素
int i = arr[0];
System.out.println(i); //6
//直接输出数组0索引元素
System.out.println(arr[0]);//6
}
1.3 数组的存储
public static void main(String[] args) {
//new出来的内容都是在堆内存中存储的
int[] arr = new int[3];
//方法中的变量arr保存的是数组的地址
System.out.println(arr);//[I@edf4efb
}
1.4. 数组的常见操作
1.4.1 数组遍历
public static void main(String[] args) {
int[] arr = {1,3,2,4,2,1};
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
1.4.2 数组获取最大值元素
public static void main(String[] args) {
int[] arr = {1,3,2,4,2,1};
int max = arr[0];
for (int i = 0; i < arr.length; i++) {
if (arr[i]>max){
max = arr[i];
}
}
System.out.println(max);
}
1.4.3 转 数组的反转
public static void main(String[] args) {
int[] arr = {10,2,4,2,14,5};
int[] arr1 = new int[arr.length];
for( int x=0;x<arr.length;x++ ){
arr1[x] = arr[arr.length-x-1];
}
for (int i = 0; i < arr1.length; i++) {
System.out.print(arr1[i]+",");
}
}
二. Arrays类
1.1 public static String toString(int[] a) :返回指定数组内容的字符串表示形式。
public static void main(String[] args) {
// 定义int 数组
int[] arr = {2,34,35,4,657,8,69,9};
// 打印数组,输出地址值
System.out.println(arr); // [I@2ac1fdc4
// 数组内容转为字符串
String s = Arrays.toString(arr);
// 打印字符串,输出内容
System.out.println(s); // [2, 34, 35, 4, 657, 8, 69, 9]
}
1.2 public static void sort(int[] a) :对指定的 int 型数组按数字升序进行排序。
public static void main(String[] args) {
// 定义int 数组
int[] arr = {24, 7, 5, 48, 4, 46, 35, 11, 6, 2};
System.out.println("排序前:"+ Arrays.toString(arr)); // 排序前:[24, 7, 5, 48, 4, 46, 35, 11, 6, 2]
// 升序排序 Arrays.sort(arr);
System.out.println("排序后:"+ Arrays.toString(arr));// 排序后:[2, 4, 5, 6, 7, 11, 24, 35, 46, 48]
}
3. 1 ArrayList类
ArrayList: 是大小可变的数组。可不断添加元素,其大小也自动增长。
ArrayList<String> list1 = new ArrayList<>();
ArrayList<Integer> list2 = new ArrayList<>();
// 注意 ArrayList<int> list3 = new ArrayList<>();//错误。泛型不能是基本类型
public boolean add(E e)
将指定的元素添加到此集合的尾部。
public E remove(int index)
移除此集合中指定位置上的元素。返回被删除的元素。
public E get(int index)
返回此集合中指定位置上的元素。返回获取的元素。
public int size()
返回此集合中的元素数。遍历集合时,可以控制索引范围,防止越界。
扫描二维码关注公众号,回复:
10814812 查看本文章
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("123");
list.add("456");
list.add("789");
System.out.println(list);//[123, 456, 789]
list.remove(list.get(1));
System.out.println(list);//[123, 789]
for(int i = 0; i < list.size(); i++){
System.out.println(list.get(i));//123 789
}
}