文本数组操作实例讲解

作者:创世魂

 

● 准备工作

 

准备工作1:

设计一个如下图所示的界面。

从上到下依次是“按钮1”“编辑框1”,设计完毕后,依然需要添加“按钮事件接收方法”

 

准备工作2:

“文本数组操作”类位于“Java基本类”模块“数组操作”分类下。

 

● 创建

 

帮助文档如下图:

顾名思义,就是创建一个指定“成员数”“一维”数组的“数组模板”

任何形式的“数组操作”都是基于这个“数组模板”进行的。

 

代码编写如下图:

1、定义一个“文本数组”变量,注意数组符号“[]”不要遗漏。

2、利用本方法创建一个“10”成员的数组,赋值给定义的变量。

3、数组内成员的指定,“数组变量名”“[]”,符号内填写“索引”,然后等于指定的“文本字符串”即可。

4、取出指定成员也是“变量名”加指定“成员索引”

 

运行效果如下图:

成功的将“3”索引内的成员取出。

 

如下图:

如果取出的“数组索引”,数组内没有指定“数组内容”,运行后会发生“右图”的情况,取出“null”,代表空。

 

 

● 创建2

 

帮助文档如下图:

可以看到有两个参数,顾名思义就是创建一个“二维数组”模板。

二维数组通俗理解为,数组内套了一个数组。

 

代码编写如下图:

定义一个“二维数组”变量,同时需要敲“两个数组符号[]”

创建的时候,比如我们“参数1”填写“5”“参数二”填写“10”

数组赋值的时候,第二个数组符号内从“0”开始“最高”只能写到“9”

而第一个数组符号,最高只能写到“4”

意思也就是从“0”“4”每个数组成员内都能容纳“0”“9”个数组成员。

取成员方式和“创建”一样。

 

运行效果如下图:

成功取出“文本数组变量[4][9]”

 

 

● 创建3

 

帮助文档如下图:

顾名思义创建一个“三维数组”

通俗理解就是,每个“一层数组”内套“二层数组”

每个“二层数组”又套了一个“三层数组”

 

代码编写如下图:

“创建2”的模式一样,定义变量我们需要三个“数组符号”

“创建3”的时候我们写“5,8,10”

最终就是“第一层”数组最大到“4”

“第二层”最大到“7”

“第三层”最大到“9”

取出成员方式也和“创建2”一样。

 

运行效果如下图:

运行后成功取出“文本数组变量[4][7][9]”

 

 

● 区域填充

 

帮助文档如下图:

可以看到区域填充有“四个”参数,“参数4”的填充值是一个“模板类型”

在这里“模板类型”,可以理解为“通用型”数据,

如果“被填充的数组”“文本数组”,那么“参数4”直接填写“文本型”的字符串即可。

本方法通俗理解:“修改”数组“指定范围”内的“数组成员”,替换成“参数4”

 

代码编写如下图:

按照最开始的“创建”的方法,创建一个“文本数组”变量。

然后直接调用“本方法”填充内容即可。

这里“参数1”填写“数组变量”“参数2、3”填写“1和3”“参数4”随便输入一个值。

意思就是从“索引1”开始取,取“3位”出来进行替换成“参数4”

最后利用“循环”方法取出(下有关于“循环”的解释),“\n”换行符。

 

“循环解释”

鼠标指向“循环”,就可以弹出“帮助”提示。

参数1:起始循环变量,不填写默认为0(上图的“循环”使用,需要从0开始)。

参数2:循环次数,因数组是“5个”,所以这里“填写5”.

参数3:用来循环的变量,也就是“每次”循环的“计数”

参数4:递增值,“每次”循环递增“数值”,不填写“默认1”

 

运行效果如下图:

数组索引“1”“3”全部变成了,我们填写的“文本”,并且本来没有指定的“索引2”也都进行了赋值。

 

 

● 区域复制

 

帮助文档如下图:

顾名思义就是把“指定范围”内的“数组成员”复制出来,并且返回一个“数组模板”

 

代码编写如下图:

上面依然还是利用“创建”方法创建一个数组。

下面定义“两个”变量,一个用来当做“返回的数组”,另外一个用作“循环”的计次。

最后利用本方法,填写对应的参数后,赋值给文本“数组2”

利用“循环”看看数组是否“复制”成功。

 

运行效果如下图:

可以看到数组成功的“复制”出来,因数组“索引2”,并没有定义成员所以返回“null”

 

 

● 填充

 

帮助文档如下图:

本方法和“区域填充”方法基本一致,不同之处就是少了“区域范围”

 

代码编写如下图:

“区域填充”大同小异,不同之处本方法会“填充”所有的“数组成员”

 

运行效果如下图:

可以看到所有的“数组成员”均被替换成“填充值”

 

 

● 复制

 

帮助文档如下图:

本方法和“区域复制”不同之处就是少了一个“起始位置”,只有一个“复制数目”

默认值为"-1"复制所有成员,超出数组范围的“自动扩充”

 

代码编写如下图:

上面不变,下面用“本方法”进行复制,“参数2”我们填写一个“10”

 

运行效果如下图:

填写的“参数”远远超过定义的“数组”,但是“不会报错”还会进行“自动扩充”

 

 

● 数组到文本

 

帮助文档如下图:

顾名思义,就是将一个“数组”,转换成“文本格式”并且返回。

 

代码编写如下图:

代码也非常简单,定义了“数组”之后,直接利用本方法“转换”即可。

 

运行效果如下图:

执行“按钮”后效果如下“数组索引2”依然会自动返回“null”

 

 

● 是否相同

 

帮助文档如下图:

“两个”数组参数,顾名思义判断两个数组是否相等。

 

代码编写如下图:

定义两个“文本数组”,然后利用本方法进行“判断”即可。

 

运行效果如下图:

“上图”定义的数组,虽然两个“数组成员内容一致”,但是“成员数”不同,所以返回“不相等”

只有两个“数组成员”相同,“内容”也相同的时候,才会“返回”相等。

 

 

● 计算数组HASH值

 

帮助文档如下图:

有一个“数组模板”参数和一个“整数”返回值。

顾名思义,就是计算一个“数组”“HASH”值。

“HASH解释:”一般翻译“散列”值,也有直接音译“哈希”值。

简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数(详情可以百度百科)。

 

代码编写如下图:

定义了“文本数组”后直接利用本方法取“数组”hash值即可。

 

运行效果如下图:

运行后可以看到“数组”“HASH值”有这么多。

 

 

● 排序

 

帮助文档如下图:

顾名思义就是对一个“数组模板”进行升序排序操作。

 

代码编写如下图:

“整数”的升序排序和“文本”的升序排序略有不同,所以我们这里看似“正常排序”的数组,接下来“排序输出后”会发生“很大的变化”

 

运行效果如下图:

数组转换文本后,可以明显的看到,数组内的文本,按照“第一位字符”进行了“升序排序”

 

 

● 排序2

 

帮助文档如下图:

“排序”不同之处就是多了一个“排序范围”

 

代码编写如下图:

例如我们这里“范围”填写“0、3”

 

运行效果如下图:

“数组到文本”转换后,可以看到只对“前三个”进行了排序。

 

 

● 二分法查找

 

在这之前我们需要在原来设计界面的基础上,增加两个编辑框:

 

帮助文档如下图:

可以看到有两个“数组模板”“欲查找值”,上面也说过了,“模板类型”参数可以理解为“通用型”数据。

注意黄色方框内:必须保证本数组是“升序排序”的状态。

找到了返回成员位置,未找到返回“第一个大于”查找值的“位置+1”的负数。

 

代码编写如下图:

定义一个“文本数组”随后进行“排序”操作。

这里我用“数组到文本”展示给“编辑框1”方便接下来解释说明。

最后利用本方法查找“编辑框2”的内容。

查找结果我们可以“到文本”“编辑框3”显示。

 

运行效果如下图:

“编辑框2”输入“15”,点击“按钮1”成功返回位置“1”

 

如果查找“2”,就会返回“-3”

因为指定“数组”内并没有“2”,所以只能找比“2”大的数。

虽然看上去所有“数组成员”都比“2”大,但是实际文本比较的时候,会从“第一个字符”比较,所以比“2”大的只有“35”

“35”的索引是“2”,它加上“1”的负数,正好就是“-3”,所以返回“-3”

 

如果查找的“内容大于所有成员”

则会返回“数组成员数+1”的负数。

所以这里查找“9”,会返回“-6”

 

 

● 二分法查找2

 

帮助文档如下图:

本方法和“二分法查找”基本一致,不同之处就是多了一个“查找范围”

 

代码编写如下图:

我们直接在“二分法查找”的基础上,增加“两个参数”即可。

这里参数我填写“1”“3”

 

运行效果如下图:

查找范围就是“黄色方框”内的我们指定的“三位成员”

运行后我们查找"1",会返回"-2"。

在查找比“1”大的数字时,如果“第一位字符”相同,会对“第二位字符”比较。

所以“15”“1”大。

“15”的索引是“1”,所以根据返回值计算公式可以正好就是“-2”

 

● 加入成员

 

帮助文档如下图:

顾名思义,就是给指定数组添加一个新的成员,并返回添加后的数组。

 

代码编写如下图:

1、随便定义一个文本型的数组并设置一个成员。

2、调用当前方法添加一个新的成员,并将结果数组显示在编辑框中。

 

运行结果如下图:

 

● 删除成员

 

帮助文档如下图:

顾名思义,删除指定成员后返回删除后的数组。

可通过“参数3”调整要删除的数量。

 

代码编写如下图:

1、定义文本数组添加三个成员。

2、调用当前方法删除成员2,最后将结果数组显示在编辑框中。

 

运行结果如下图:

 

● 取数组左边

 

帮助文档如下图:

顾名思义,通过本方法可取出指定数组左边的成员数。

取出的数量由参数2决定。

 

代码编写如下图:

1、定义文本数组,添加3个成员。

2、调用当前方法取出两个成员,并将结果显示在编辑框中。

 

运行结果如下图:

 

● 取数组右边

 

帮助文档如下图:

本方法的作用是从数组右边取出指定成员数,并将其返回。

 

代码编写如下图:

1、定义文本数组后添加三个成员。

2、调用当前方法,取出数组右边两个成员,并将结果数组显示在编辑框中。

 

运行结果如下图:

 

● 取数组中间

 

帮助文档如下图:

本方法用来取出指定范围的数组成员,并将其返回。

 

代码编写如下图:

1、定义文本数组,添加四个成员。

2、调用当前方法取出中间两个成员,并即将结果数组显示在编辑框中。

 

运行结果如下图:

 

● 合并
● 合并3

 

以上两个方法都是进行数组合并,此处演示“合并”

 

帮助文档如下图:

顾名思义,通过本方法可以将两个已知的数组进行合并操作。

返回值为合并后的数组。

 

代码编写如下图:

1、定义两个文本数组,分别添加成员。

2、调用当前方法,合并数组后将结果数组显示在编辑框中。

 

运行结果如下图:

 

● 其它数组操作

其它“数组类型”操作,大家可以根据“文本数组操作”例子,进行“举一反三”