java数组

时间:2020-07-30 01:47:12   收藏:0   阅读:82

 

1.数组概述

数组的定义

2.数组声明创建

内存分析

三种初始化

数组的四个基本特点

数组边界

3.数组使用

4.多维数组

5.Arrays类

 package com.langlang.array;
 ?
 import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer;
 ?
 import java.util.Arrays;
 ?
 public class ArrayDemo06 {
     public static void main(String[] args) {
         int[] a = {895,89,875,64,134,9,8794,567,6,345,32,166,46};
 ?
         //打印数组元素Arrays.toString(a)
         System.out.println(Arrays.toString(a));
         System.out.println("===========");
         printArray(a);
         System.out.println("=================");
 ?
         //数组进行排序:升序
         Arrays.sort(a);
         System.out.println(Arrays.toString(a));
         System.out.println("=========");
 ?
         //数组填充(全部替换为填充内容)
         Arrays.fill(a,0);
         System.out.println(Arrays.toString(a));
 ?
         //数组填充(指定位置填充)  [2,4)   下标是2的位置开始填充,填充到4(不包括4)
         Arrays.fill(a,2,4,555);
         System.out.println(Arrays.toString(a));
     }
 ?
     public static void printArray(int[] a){
         for (int i = 0; i < a.length; i++) {
             if (i==0){
                 System.out.print("[");
             }
             if (i==a.length-1){
                 System.out.print(a[i]+"]");
             }else{
                 System.out.print(a[i]+",");
             }
         }
     }
 ?
 }
 ?

 

冒泡排序

6.稀疏数组

稀疏数组介绍

    技术图片

 

 

 package com.langlang.array;
 ?
 import java.util.Arrays;
 ?
 public class ArrayDemo08 {
     public static void main(String[] args) {
 ?
         //创建一个二维数组  11*11   0:没有棋子  1:黑子    2:白子
         int[][] a = new int[11][11];
         a[1][2] = 1;
         a[2][3] = 2;
         //输出原始数组
         System.out.println("输出原始数组:");
         for (int[] ints : a){
             for (int anInt : ints){
                 System.out.print(anInt+"\t");
             }
             System.out.println();
         }
 ?
         //转换为稀疏数组保存
         //获取有效值的个数
         int sum = 0;
         for (int i = 0; i < 11; i++) {
             for (int j = 0; j < 11; j++) {
 ?
                 if (a[i][j]!=0){
                     sum++;
                 }
             }
         }
         System.out.println("有效值的个数"+sum);
 ?
         // 2. 创建一个稀疏数组的数组
         int[][] array = new int[sum+1][3];
 ?
         array[0][0] =11 ;
         array[0][1] =11 ;
         array[0][2] =sum ;
 ?
         //稀疏数组的行数
         int count = 0;
 ?
         //遍历二维数组,将非零的值,存放稀疏数组中
         for (int i = 0; i < a.length ; i++) {
             for (int j = 0; j < a[i].length; j++) {
                 if (a[i][j]!=0){
                     count++;
                     array[count][0] = i;
                     array[count][1] = j;
                     array[count][2] = a[i][j];
 ?
                 }
             }
         }
 ?
         //输出稀疏数组
         System.out.println("稀疏数组:");
 ?
         for (int j = 0; j < array.length; j++) {
             System.out.println(
                     array[j][0]+"\t"
                             +array[j][1] + "\t"
                             +array[j][2] + "\t"
             );
 ?
         }
 ?
         System.out.println("======================");
         System.out.println("还原");
 ?
         // 1. 读取稀疏数组
         int[][] array2 = new int[array[0][0]][array[0][1]];
         // 2. 给其中的元素还原它的值
         for (int i = 1;i<array.length;i++){
             array2[array[i][0]][array[i][1]] = array[i][2];
         }
 ?
         // 3. 打印
         for (int[] ay : array2){
             for (int Intary : ay){
                 System.out.print(Intary+"\t");
             }
             System.out.println();
         }
 ?
 ?
     }
 }
 ?

 

 

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!