今天学习了一维数组的基础,以及对数组进行常规化处理的Arrays类(toString .equals .sort .fill .copyOf .copyOfRange .binarySearch),和System类的arraycopy方法。

1. Arrays.toString( )

直接输出数组是显示不出来的,要调用Arrays.toString()方法将其转换为字符串再输出。
import java.util.Arrays;
public class E {public static void main(String[] args) {int[] num= {23,34,6,2,31,9};System.out.println(Arrays.toString(num));}
}

运行结果

2. Arrays.equals( )

比较两个数组是否一样。

import java.util.Arrays;public class C {public static void main(String[] args) {String[] one= {"A","3","FDF","65","abc"};String[] two= {"B","DF","89","ahg","9"};String[] three= {"A","3","FDF","65","abc"};boolean is=Arrays.equals(one, three);boolean is2=Arrays.equals(one, two);System.out.println("one和two的比较结果为:"+is);System.out.println("onr和three的比较结果为:"+is2);}
}

运行结果

3. Arrays.sory( )

对数组进行排序(数字 英文),汉字不可以。

import java.util.Arrays;public class D {public static void main(String[] args) {int[] number= {4,3,24,35,622,2,56,31,8,46};System.out.println("排序前:"+Arrays.toString(number));Arrays.sort(number);System.out.println("排序后:"+Arrays.toString(number));}
}

运行结果

4. Arrays.fill( )

对数组进行填充。

import java.util.Arrays;public class E {public static void main(String[] args) {int[] num=new int[100];System.out.println("填充前:"+Arrays.toString(num));Arrays.fill(num, 9);System.out.println("填充后:"+Arrays.toString(num));}
}

运行结果

5. Arrays.copyOf( ),copyOfRange( )和System.arraycopy( )

System.arraycopy(被复制的数组,复制的开始位置,目标数组,复制到目标数组的那个位置,要复制的个数)

import java.util.Arrays;public class F {public static void main(String[] args) {String[] number={"李敏镐","肖战","迪丽热巴","陈飞宇","吴亦凡","王一博","朱亚文"};System.out.println(Arrays.toString(number));String[] newnum=new String[5];//Arrays.copyOfnewnum=Arrays.copyOf(number, 5);System.out.println("复制后:"+Arrays.toString(newnum));//Arrays.copyOfRangenewnum=Arrays.copyOfRange(number, 1, 6);System.out.println("复制下标1至5之间的元素:"+Arrays.toString(newnum));//System.arraycopySystem.arraycopy(number, 1, newnum, 0, 5);System.out.println(Arrays.toString(newnum));}
}

运行结果

6. 练习

1. 洗牌
定义一个i 从最后一位开始 ,先产生一个随机数index,把这个随机数当作要和最后一位交换牌的数组下标,依次交换直到第一位停止。

import java.util.Arrays;
import java.util.Random;public class A {public static void main(String[] args) {String[] pie= {"♥A","♠A","✿A","♦A","♥2","♠2","✿2","♦2","♥3","♠3","✿3","♦3","♥4","♠4","✿4","♦4"};System.out.println("洗牌前:");System.out.println(Arrays.toString(pie));Random ran=new Random();for(int i=pie.length-1;i>=1;i--) {int index=ran.nextInt(i);String temp=pie[i];pie[i]=pie[index];pie[index]=temp;}System.out.println("洗牌后:");System.out.println(Arrays.toString(pie));}
}

运行结果


2. 产生扑克的所有花色

运用foreach循环

import java.util.Arrays;public class B {public static void main(String[] args) {String[] number= {"A","2","3","4","5","6","7","8","9","10","J","Q","K"};String[] puk= {"♥","♠","✿","♦"};String[] newpuk=new String[number.length*puk.length];int i=0;for(String num:number) {for(String pukk:puk) {newpuk[i]=pukk+num;i++;}}System.out.println(Arrays.toString(newpuk));}
}

运行结果


3. 抽奖一百次,统计每个人被抽到的次数放入数组,输出最多的那个人

import java.util.Arrays;
import java.util.Random;public class A {public static void main(String[] args) {Random ran=new Random();String[] lucky= {"李敏镐","肖战","迪丽热巴","陈飞宇","吴亦凡","王一博","朱亚文","王嘉尔","宋祖儿","胡一天"};int[] counts=new int[lucky.length];for(int i=0;i<100;i++) {int index=ran.nextInt(lucky.length);counts[index]++;}System.out.println(Arrays.toString(counts));//最大次数maxint max=counts[0];//最大次数的下标int maxindex=0;for(int j=1;j<counts.length;j++) {if(counts[j]>max) {max=counts[j];maxindex=j;}}System.out.println("最大次数为:"+max);System.out.println("下标为:"+maxindex);System.out.println("神赐之人为:"+lucky[maxindex]);}
}

运行结果

2020.1.16 Java数组基础相关推荐

  1. 随机点名器1(Java数组基础)

    前言 这里我们运用一些基本的Java知识点来完成一个小小项目--随机点名器,(后续我们也会此不断升级,知识点的不断增加) 这里我们重点运用到的是:Java数组的基础运用 项目描述 编写一个随机点名的程 ...

  2. Java数组基础使用下标、遍历、存取与本质

    Java数组 一.创建数组的格式 二.数组下标 三.存放数组元素 四.取出数组元素 五.二维数组等多维数组 \qquad 遍历二维数组 一.创建数组的格式: 数组所需要存储的数据类型[ ] 数组对象变 ...

  3. JAVA总裁--Java数组基础知识

    1.数组的定义: 数组是由一组类型相同的数据元素构成的有序集合,每个数据元素称为一个数组元素(简称为元素),每个元素受n(n≥1)个线性关系的约束,每个元素在n个线性关系中的序号i1.i2.-.in称 ...

  4. java数组基础知识巩固

    一.数组练习: 1.使用两种方式定义一个整形的一维数组,获取数组中的值,为数组中的元素赋值,遍历一维数组 代码: class SingleDimensionArray {public static v ...

  5. Java数组基础笔记(引用、字符串数组)

    文章目录 数组的新建 数组的引用概念 字符串数组引用的奇妙 数组的新建 数组的新建有多种方式,需要注意返回值类型是int[],新建方式如下几种: int[] ns: ns = new int[] {1 ...

  6. java数组、集合和数据结构知识*

    为什么80%的码农都做不了架构师?>>>    一.数据结构知识.数据结构分为逻辑结构和物理结构,下面是百度百科的数据结构知识. 数据的逻辑结构:指反映数据元素之间的逻辑关系的数据结 ...

  7. java数组 序列化_程序猿的日常——Java基础之clone、序列化、字符串、数组

    其实Java还有很多其他的基础知识,在日常工作技术撕逼中也是经常被讨论的问题. 深克隆与浅克隆 在Java中创建对象有两种方式: 一种是new操作符,它创建了一个新的对象,并把对应的各个字段初始化成默 ...

  8. java 数组 字符串 编程_Java语言基础知识之字符串数组

    Java语言基础知识之字符串数组 java语言中,数组是一种最简单的复合数据类型.数组是有序数据的集合,数组中的每个元素具有相同的数据类型,可以用一个统一的数组名和下标来唯一地确定数组中的元素.数组有 ...

  9. Java语言基础(数组)

    Java语言基础(数组概述和定义格式说明) A:为什么要有数组(容器) 为了存储同种数据类型的多个值 B:数组概念 数组是存储同一种数据类型多个元素的集合.也可以看成是一个容器. 数组既可以存储基本数 ...

最新文章

  1. BTC引领市场多头情绪爆发 BCH筑底完成望成上涨新风口
  2. SQL Server 2008中原生的分层数据类型:hierarchyid
  3. JS编程建议——42:用好正则表达式静态值
  4. oracle的split函数
  5. poj -- 2288 Islands and Bridges
  6. 鸡肋工具-Oracle建表工具
  7. 使用iframe+postMessage跨域操作和通信
  8. C语言abc输出最小值改错题,C语言程序设计
  9. 使用阿里云docker加速器
  10. 利用云数据库 MongoDB ,为你的业务创建单节点实例
  11. An attempt has been made to start a new process before the current process
  12. pytorch卷积神经网络_使用Pytorch和Matplotlib可视化卷积神经网络的特征
  13. vue3.0 vuex 全局变量 存储更改
  14. 正则表达式:Javascript
  15. 基于SSM的猫头鹰家教兼职平台
  16. 成都信息工程大学2019级概率论c类试题
  17. 搜狗输入法linux版 rpm,wps for linux 不能使用搜狗输入法
  18. 人脸活体检测论文:Multi-Modal Face Anti-Spoofing Based on Central Difference Networks
  19. 如何计算游戏客户端与服务器之间的时间延迟?
  20. 2021年度COMPUTEX论坛汇聚科技巨头,共同解锁未来技术新趋势

热门文章

  1. 基于Stm32的充电桩系统
  2. 【手撕算法】HC显著性检测算法
  3. R语言知道预测值和真实值,怎么计算R2
  4. 6.12 事件的捕获 10.08
  5. 淘宝商品详情接口(app、h5端)
  6. wiley latex 模板 设置双栏 调整双栏间距
  7. [附源码]Python计算机毕业设计SSM基于的优质房源房租管理系统(程序+LW)
  8. 浏览器控制台过滤无用的提示和报错
  9. VCC、VDD、VSS、 VEE 和VPP的区别
  10. android 获取父容器的背景,Android笔记--Fragment获取父Activity的控件并修改内容demo...