java基础2(数组、ArrayList)

一. 数组

数组概念: 数组就是存储数据长度固定的容器,保证多个数据的数据类型要一致。

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
        }
    }
发布了12 篇原创文章 · 获赞 4 · 访问量 388

猜你喜欢

转载自blog.csdn.net/weixin_44079478/article/details/104652243