首页 > 编程语言 > 详细

数组1

时间:2021-02-28 21:55:01      阅读:31      评论:0      收藏:0      [点我收藏+]

数组概述

数组是相同类型数据的有序集合。每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们。

数组声明创建

1.dataType[] arrayRefVar = new dataType[arraySiza];

2.数组元素通过索引访问,索引从0开始。

3.获取数组长度:arrays.length

attention:

1.数组的长度是固定的。

2.同一个数组的元素类型必须相同。

3.数组中的元素可以是任意类型

三种初始化

1.静态初始化

例:int[] a = {1,2,3};

2.动态初始化

int[] a = new int[2];

a[0]=1;a[1]=2;

3.默认初始化

数组是引用类型,它的元素相当于类的实例变量,因此数组一经分配空间,其中的每个元素也被按照实例变量同样的方式被隐式初始化。

数组使用

1.For-Each循环

2.数组作方法入参

3.数组作返回值

public class arrays1 {
   public static void main(String[] args) {
       //for方法
       int[] array = {1,2,3,4};
       for(int i=1;i<=array.length;i++){
           System.out.println(i);
      }
?
       //for-each循环
       for(int i:array){
           System.out.println(i);
      }
?
       int[] d=new int[4];
       arrays1 c = new arrays1();
       d=c.reverse(array);
       for(int i:d){
           System.out.println(i);
      }
  }
   //反转数组方法
   public int[] reverse(int[] a){
       int[] b = new int[a.length];
       for(int i=0;i<a.length;i++){
           b[i]=a[3-i];
      }
       return b;
  }
}

 

多维数组

多维数组可以看成是数组的数组,比如二维数组就是一个特殊的一维数组,其每一个元素都是一个一维数组。

二维数组,例:

int[][] a = new int[2][2];
int[][] b={{1,2},{2,3}};

Arrays类

数组的工具类:java.util.Arrays,可以在里面查看工具用法。

使用工具效果如下:

import java.util.Arrays;
?
public class arrays2 {
  public static void main(String[] args) {
      int[] a = {1,54,657,54};
      Arrays.sort(a);
      System.out.println(a);
      System.out.println(Arrays.toString(a));
      Arrays.sort(a);
      System.out.println(Arrays.toString(a));
  }
  //结果如下:
  //[I@16b98e56
  //[1, 54, 657, 54]
  // [1, 54, 54, 657]
?
}

冒泡排序

时间复杂度为:O(n2).

1.比较数组中,两个相等元素,如果第一个元素大于第二个元素,交换位置。

2.每一次比较,在本程序中会产生一个最大的数字。

3.下一轮可以少一次排序

4.依次循环,直到结束。

package Exps;
?
import java.util.Arrays;
?
public class queue {
   public static void main(String[] args) {
       int[] a={432,65,324,765,34};
       queue q = new queue();
       a=q.sort(a);
       System.out.println(Arrays.toString(a));
  }
   public int[] sort(int[] a){
       int temp;
       //两两比较,比较次数比数组长度少一
       for(int i=0;i<a.length-1;i++){
           //每一轮循环都选出一个最大,所以就减少一次循环
           for(int j=0;j<a.length-1;j++){
               if(a[j+1]<a[j]){
                   temp=a[j];
                   a[j]=a[j+1];
                   a[j+1]=temp;
              }
          }
      }
       return a;
  }
}

 

内存分析

 

数组1

原文:https://www.cnblogs.com/carol-YeXiao/p/14460647.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!