首页 > 其他分享 >数组

数组

时间:2023-04-10 20:35:49浏览次数:32  
标签:int System 数组 println array public out

数组

1,数组概述


2,数组声明创建

package array;

public class Demo01 {
    public static void main(String[] args) {
        //求10个数的和;
        int[] nums = new int[10];
        nums[0] = 1;
        nums[1] = 2;
        nums[2] = 3;
        nums[3] = 4;
        nums[4] = 5;
        nums[5] = 6;
        nums[6] = 7;
        nums[7] = 8;
        nums[8] = 9;
        nums[9] = 10;
        int sum=0;
        for (int i=0;i<nums.length;i++) {
            sum = sum + nums[i];
        }
        System.out.println("总和为:" + sum);
    }
}



package array;

public class Demo02 {
    public static void main(String[] args) {
        int [] a = {1,2,3,4,5,6};
        System.out.println(a[2]);
        System.out.println("==========================");
        int [] b = new int[5];
        b[0] = 2;
        b[1] = 3;
        //如果没有定义初始值,数组会默认为0;
        System.out.println(b[1]);
        System.out.println(b[2]);

    }
}


3,数组使用


package array;

public class Demo03 {
    public static void main(String[] args) {
        int [] array ={1,2,3,4,5,6};//输出数组
        for (int i = 0; i < array.length; i++) {
            System.out.println(array[i]);
        }
        System.out.println("==============");
        int sum = 0;
        for (int i = 0; i < array.length; i++) {
            sum = sum +array[i];
        }
        System.out.println("sum="+sum);//求数组的和
        System.out.println("===============");
        int max = array[0];
        for (int i = 1; i < array.length; i++) {
        if(max<array[i]){
            max = array[i];
            }
        }
        System.out.println("max="+max);//求数组最大值
    }
    
}

package array;

public class Demo04 {
    public static void main(String[] args) {
         int [] array = {1,2,3,4,5,6};
        for (int j : array) {
            System.out.println(j);//增强式For循环,适用于打印东西,而且没有下标。				

4,多维数组


package array;

public class Demo05 {
    public static void main(String[] args) {
        int [][] array = {{1,2},{3,4},{5,6}};
        for (int i = 0; i < array.length; i++) {
            for (int j = 0; j < array[i].length; j++) {
                System.out.println(array[i][j]);

            }


        }
    }
}

5,Arrays类

	package array;
import java.util.Arrays;
public class Demo06 {
    public static void main(String[] args) {
        int [] a = {1,2,3,4,35,653,3423,52,42};
        System.out.println(a);//[I@4eec7777
        System.out.println( Arrays.toString(a));//输出数组
        printArrays(a);//调用自己写的方法
        Arrays.sort(a);//数组排序
        System.out.println(Arrays.toString(a));
        Arrays.fill(a, 2   ,4,0);//数组填充
        System.out.println(Arrays.toString(a));
    }
    public static void printArrays(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]+", ");
            }
        }
        }
    }


冒泡排序

package array;

import java.util.Arrays;

public class Demo07 {
    public static void main(String[] args) {
        int [] a = {1,3,4,7,6,23,43,13,645,67,88 };//从小到大排序;
        sort(a);
        System.out.println(Arrays.toString(a));
    }
    public static int [] sort(int [] a){
        int temp = 0;
        for (int i = 0; i < a.length-1; i++) {
            for (int j = 0; j <a.length-1-i ; j++) {
                if(a[j+1]>a[j]){
                    temp=a[j];
                    a[j]=a[j+1];
                    a[j+1]=temp;

                }
            }
        }
        return a;
    }

}

6,稀疏数组



package array;

public class Demo08 {
    public static void main(String[] args) {
        //创建一个二维数组10*10,
        int [] [] a1 = new int [10] [10];
        a1 [1][2]=6;
        a1 [2][3]=8;
        //输出二维数组;
        System.out.println("输出原始数组");
        for (int[] ints : a1) {
            for(int anInt :ints){
                System.out.print(anInt+"\t");
            }
            System.out.println();
        }
        System.out.println( "===================");
        //转化为稀疏数组保存
        //获取有效值得个数
        int sum =0;
        for (int i = 0; i < 10; i++) {
            for (int j = 0; j < 10; j++) {
                if(a1[i][j]!=0){
                    sum++;
                }
            }
            
        }
        System.out.println("有效值个数:"+sum);

        //创建一个稀疏数组的数组;
        int [][] a2 = new int[sum+1][3];
        a2[0][0]=10;
        a2[0][1]=10;
        a2[0][2]=sum;
        //遍历二维数组,将非零值放入稀疏数组中;
        int count = 0;
        for (int i = 0; i <a1.length ; i++) {
            for (int j = 0; j <     a1[i].length; j++) {
                if (a1[i][j]!=0){
                    count++;
                    a2[count][0]=i;
                    a2[count][1]=j;
                    a2[count][2]=a1[i][j];
                }
            }
        }
        //输出稀疏数组
        System.out.println("输出稀疏数组");
        for (int i = 1; i < a2.length; i++) {
            System.out.println(a2[i][0]+"\t"
                    +a2[i][1]+"\t"
                    +a2[i][2]+"\t");
        }
        System.out.println("=================");
        System.out.println("还原");
        //读取稀疏数组
        int [][] a3 = new int[a2[0][0]][a2[0][1]];
        //给其中的元素还原其中的值
        for (int i = 1; i < a2.length; i++) {
            a3[a2[i][0]][a2[i][1]]=a2[i][2];
        }
        //打印
        System.out.println("输出还原数组");
        for (int[] ints : a1) {
            for(int anInt :ints){
                System.out.print(anInt+"\t");
            }
            System.out.println();
        }
    }
}



标签:int,System,数组,println,array,public,out
From: https://www.cnblogs.com/1802ming/p/17304193.html

相关文章

  • 用 Go 剑指 Offer 39. 数组中出现次数超过一半的数字 (摩尔投票)
    数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 //若不存在多数元素,本题就需要计数并判断示例 1:输入:[1,2,3,2,2,2,5,4,2]输出:2 限制:1<=数组长度<=50000来源:力扣(LeetCode)链......
  • spfa求最短路——BFS,数组实现邻接表,数组实现队列
    题目描述题目来源AcWing给定一个n个点m条边的有向图,图中可能存在重边和自环,边权可能为负数。请你求出1号点到n号点的最短距离,如果无法从1号点走到n号点,则输出impossible。数据保证不存在负权回路。输入格式第一行包含整数n和m。接下来m行每行包含三个......
  • 3、动态数组
    在这里,我们新创建一个数组类,对Java语言中的原始数组进行封装,使得它可以动态的扩容和缩容Java语言中也有类似的实现,叫ArrayList,我们创建的数据类是它的简化版本,下面是代码实现publicclassArray<E>{privateE[]data;privateintsize;publicArray(i......
  • 用 Go 剑指 Offer 42. 连续子数组的最大和
    输入一个整型数组,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。 示例1:输入:nums=[-2,1,-3,4,-1,2,1,-5,4]输出:6解释: 连续子数组 [4,-1,2,1]的和最大,为 6。 提示:1<= arr.length<=10^5-100<=arr[i]<=100......
  • PYTHON 字节数组
    字节数组字节数组是可变类型,采用bytearray内置函数构造。在REPL中,输入help(bytearray)可以获得相关信息。字节数组的来源可以是:可迭代的整数序列,整数范围为0~255;字符串;字节或者另外的字节数组对象;任意实现了缓冲区API的对象。>>>×=bytearray('\×12\×34\×56\×78')>......
  • 【LeeCode】523.连续的子数组和
    【题目描述】给你一个整数数组 nums 和一个整数 k ,编写一个函数来判断该数组是否含有同时满足下述条件的连续子数组:子数组大小 至少为2 ,且子数组元素总和为 k 的倍数。如果存在,返回 true ;否则,返回 false 。如果存在一个整数 n ,令整数 x 符合 x=n*k ,则称 x......
  • 数组排序
    1#include<stdio.h>2voidsort1(ints[])3{4inti,j,t;5for(i=0;i<9;i++)6{7for(j=0;j<10;j++)8{9if(s[j]>s[j+1])10{11t=s[j];s[j]=s[j+1];s[j+1]=t;1......
  • 线性表之静态链表实现(数组cur实现)
    main.cpp#include"StaticList.h"intmain(){StaticListSL;InitSList(SL);for(inti=0;i<5;++i){Insert(SL,'A'+i);}ShowSList(SL);DeleteSList(SL);ShowSList(SL);return0;}Stati......
  • gis经纬度坐标转换多格式兼容:支持字符串/数组/GeoJSON
    格式let coordinatesStrReg = /((-*[1][0-9]{0,2}|0)(\.[0-9]{1,6})*),\s{0,2}((-*[1-9][0-9]{0,1}|0)(\.[0-9]{1,6})*)/gstr.replace(coordinatesStrReg, (str, $1, $2, $3, $4, $5) => {  // lat=$1 lng lat=$4  console.log($1, $4)})代码,https://w......
  • C-指针数组与数组指针
    指针数组用于存放指针的数组inta=1,b=2,c=3;int*arr[3]={&a,&b,&c};//arr[0]==&a//*arr[0]==aint**p=arr;//*p==arr[0]==&a//p[0]==arr[0]==&a//*(p+1)==arr[1]==&b//**p==*arr[0]==a//*p[0]==*ar......