系列十二、数组

一、数组

1.1、概述

        数组是指可以同时存放固定长度的同一类型的数据。

1.2、数组的声明

        数组的声明有三种方式,具体如下:

1.2.1、方式一

/*** 声明数组的第一种方式*      cityArray:数组名,注意:不包括[]*/
@Test
public void declareArrayTest1() {String cityArray[] = new String[4];cityArray[0] = "北京";cityArray[1] = "上海";cityArray[2] = "广州";cityArray[3] = "深圳";System.out.println(cityArray[0]);
}

1.2.2、方式二

/*** 声明数组的第二种方式*      cityArray:数组名,注意:不包括[]*/
@Test
public void declareArrayTest2() {String[] cityArray = new String[4];cityArray[0] = "杭州";cityArray[1] = "武汉";cityArray[2] = "南京";cityArray[3] = "西安";System.out.println(cityArray[0]);
}

1.2.3、方式三

/*** 声明数组的第三种方式*      cityArray:数组名,注意:不包括[]*/
@Test
public void declareArrayTest3() {String[] cityArray = {"金华","丽水","衢州","舟山"};System.out.println(cityArray[0]);
}

1.3、数组常见操作

/*** 数组常见操作* 1、排序*      Arrays.sort()可以对数字、字符进行排序,但是不能对中文字符排序* 2、判断某个数是否在数组中* 3、判断两个数组是否相同*      Arrays.equals(arr1,arr2):返回boolean类型,如果为true则代表两个数组相等,否则不相等* 4、将数组转换成人可以看懂的数据*      Arrays.toString(array)*/
@Test
public void arraySortTest() {int[] scoreArray = {65, 36, 98, 85, 72, 99, 100};System.out.println("==================================================");StringBuilder sbBefore = new StringBuilder();StringBuilder sbAfter = new StringBuilder();for (int i : scoreArray) {sbBefore.append(i + "\t");}System.out.println("排序前:" + sbBefore);Arrays.sort(scoreArray);for (int i : scoreArray) {sbAfter.append(i + "\t");}System.out.println("排序后:" + sbAfter);System.out.println("==================================================");int existFlag = Arrays.binarySearch(scoreArray, 85);System.out.println("existFlag = " + existFlag); // existFlag = 3,如果存在返回的是索引所在位置,索引从0开始System.out.println("==================================================");int[] arr1 = {1, 2, 3};int[] arr2 = {1, 2, 3};Arrays.equals(arr1, arr2);System.out.println("==================================================");String[] cityArray = {"金华", "丽水", "衢州", "舟山"};System.out.println(cityArray);System.out.println(Arrays.toString(cityArray));
}

1.4、String vs StringBuffer vs StringBuilder

1.4.1、概述

        String修改字符串时,是在内存中创建一个新的字符串,并把新的地址指向给String对象,比较浪费空间。StringBuffer和StringBuilder是在初始时创建一个容器,当修改的时候只是修改容器中的内容,而不是创建一个新的容器,所以如果业务需要经常变更字符串的话,最好不要使用String。

1.4.2、StringBuffer vs StringBuilder

        StringBuffer是线程安全的,部分源码如下:

        StringBuilder是线程不安全的,部分源码如下:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/334377.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

伺服系统刚性模型的建立

一.系统工作原理 为了实现对运动控制系统精准的位置控制,首先要对伺服进给系统进行准确建模和模型辨识。人们对于运动控制系统的研究中已经提出了多种多样的系统建模和辨识方法。 图1 伺服电机滚珠丝杠传动系统刚性模型 下面对整个系统的工作原理进行解释&#xff…

TS 36.213 V12.0.0-PUSCH相关过程(1)-传输PUSCH的UE过程

​本文的内容主要涉及TS 36.213,版本是C00,也就是V12.0.0。

【记录】一次内存泄漏造成的内存溢出

记录一下这个问题,前一阵子同事离职了,接手了他的一个项目,然后测试同事说程序连续运行半天就会崩溃,看了下crash文件的关键信息是最后oom了,oom上面的log是logutils写日志,以为是频繁的日志写造成的内存溢…

基于共享储能电站的工业用户日前优化经济调度【复现】

文章提出一种基于共享储能电站的工业用户日前优化经济调度方法。首先提出共享储能电站的概念,分析其 商业运营模式。然后将共享储能电站应用到工业用户经济优化调度中,通过协调各用户使用共享储能电站进行充电和 放电的功率,实现用户群日运行…

开源加解密库之GmSSL

一、简介 GmSSL是由北京大学自主开发的国产商用密码开源库,实现了对国密算法、标准和安全通信协议的全面功能覆盖,支持包括移动端在内的主流操作系统和处理器,支持密码钥匙、密码卡等典型国产密码硬件,提供功能丰富的命令行工具及…

代码随想录1月9日平衡二叉树、二叉树的所有路径

110.平衡二叉树 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。 示例 1: 输入:root [3,9,20,null,null,15,7] 输…

idea右上角浏览器图标没有idea内部浏览器怎么显示

idea右上角浏览器图标没有idea内部浏览器怎么显示 file -> settings -> tools -> web brosers 选择需要的浏览器,勾选上展示到编辑器中 打开上图的Built-in Preview,就会显示idea标志的内部显示了!!!

【Linux系统编程二十七】:线程的互斥与同步(互斥锁的使用与应用)

【Linux系统编程二十七】:线程的互斥与同步(互斥锁的使用与应用) 一.问题:数据不一致(混乱/不安全)1.多线程并发计算不安全2.将数据加载到寄存器的本质 二.解决方法--互斥锁三.互斥锁的概念与接口1.定义锁2.加锁/解锁 四.互斥锁实现原理与应用1.原理&…

QT应用篇:QT解析与生成XML文件的四种方式

四种常见的解析 XML 的方式(DOM、SAX、以及基于 Qt 的 XmlStreamReader)各有自己的优缺点,适合不同的应用场景。 DOM 适合小型且结构简单的 XML 文件,需要频繁修改和操作整个文档结构的情况。SAX 适合大型 XML 文件,以及只需读取不需要修改的情况。基于 Qt 的 XmlStreamRe…

国内低代码开发平台排名 盘点十家主流低代码平台

随着数字化转型的加速,低代码开发平台作为一种新型软件开发方式,受到了广泛关注。国内低代码市场也呈现出蓬勃发展的态势,各种低代码平台如雨后春笋般涌现。本文将对国内低代码平台进行排名,以帮助企业和开发者更好地了解市场情况…

C盘清理详细教程,跟着我做,c盘想爆满也难【建议收藏】

C盘爆红对于咱们来说,简直太难受了,今天就总结一篇文章,专门用来教大家解决C盘空间不足的问题,优化步骤分为三个阶段,可以一步一步的进行。 目录 入门优化: 删除掉不用的软件 清空存储里面的临时文件&am…

论文设计任务书学习文档|TOPOLOGY网管软件的研究与实现

文章目录 论文(设计)题目:1、论文(设计)的主要任务及目标2、论文(设计)的主要内容3、论文(设计)的基本要求4、进度安排 论文(设计)题目&#xff1…