当前位置: 首页 > news >正文

网站建设哪家专业公司好手游推广个人合作平台

网站建设哪家专业公司好,手游推广个人合作平台,购买服务器,wordpress 图片库非常重要的: 方法设计(参数,返回值,调用) 数组也重要,但是后续很少用! 是因为后期有更简单的【集合】,重要在于是一种思想,也是一种代码逻辑 关于数组: 声明创建取值,存值遍历面试|算法 --> 排序内存图(堆,栈,引用) 今天 数组工具类:Arrays数组扩容(拷…

非常重要的: 方法设计(参数,返回值,调用)

数组也重要,但是后续很少用! 是因为后期有更简单的【集合】,重要在于是一种思想,也是一种代码逻辑


关于数组:

  • 声明创建
  • 取值,存值
  • 遍历
  • 面试|算法 --> 排序
  • 内存图(堆,栈,引用)

今天

  • 数组工具类:Arrays
  • 数组扩容(拷贝)
  • 作业

一、Arrays

Arrays , 数组工具类, 主要提供一系列操作数组的方法,常用的

  • String toString(数组参数) 将数组的元素以字符串的形式返回(将数组转成字符串后返回)
  • void sort(数组参数), 将数组按照升序排序
  • copy
package com.qf.array;import java.util.Arrays;/*** @desc*/
public class Demo1 {public static void main(String[] args) {// 数组声明创建方式1int[] arr1 = new int[3];// int arr2[];// 语法不错,但是不建议// 数组声明创建方式2int[] arr2 = new int[]{1,2,3,4};// 数组声明创建方式3int[] arr3 = {1,2,3,4};/*** 使用数组工具类,用法*  返回值 = 类名.方法名(参数)*------------------------------* toString方法,作用是将数组以字符串形式返回*-----------------------------* 作用:*   主要用来遍历数组元素,方便查看*/// String s = Arrays.toString(arr3);// System.out.println(s );System.out.println( "遍历" + Arrays.toString(arr3));/*** Arrays工具第二个常用方法* void sort(数组),作用是将数组按照升序排序*/int[] arr4 = {5,2,3,1,4};// 排序前遍历一遍,看效果System.out.println("排序前: "+Arrays.toString(arr4));// 调用方法完成排序Arrays.sort(arr4);System.out.println("排序后: "+Arrays.toString(arr4));}
}

二、数组扩容

数组特点是长度固定,那还怎么扩容?

  • 为什么扩容? 因为装不下
  • 怎么扩? 其实是重新创建一个大一点(一般是1.5倍,2倍)的数组,将之前数组的元素拷贝到新的数组

image-20231007104719762

三、拷贝

3.1 手动

思路

  1. 手动创建一个数组(假定原数组2倍长度)
  2. 遍历老数组取出元素,挨个存储到新数组
package com.qf.array;import java.util.Arrays;/*** @desc 数组扩容+拷贝*/
public class Demo2 {public static void main(String[] args) {// 现有数组int[] arr = {1,2,3,4,5};System.out.println("扩容前: " + Arrays.toString(arr) );// 继续往里存储数据,但是存储不了// arr[5] = 6; // 报错,越界// 现在想将数组扩容,后再存储arr = copy1(arr);arr[5] = 6;System.out.println("扩容后: " + Arrays.toString(arr) );}// 需求: 将数组长度扩大2倍// 拷贝方式1: 手动实现public static int[] copy1(int[] arr) {// 创建一个新数组是原来的2倍int[] arr2 = new int[arr.length * 2];// System.out.println("拷贝前: " + Arrays.toString(arr2) );// 开始拷贝for (int i = 0; i < arr.length; i++) {// 取出老数组中的元素赋值给新数组arr2[i] = arr[i];}// System.out.println("拷贝后: " + Arrays.toString(arr2) );return arr2;}
}

image-20231007112526549

3.2 System工具【重要】

package com.qf.array;import java.util.Arrays;/*** @desc 数组扩容+拷贝(工具实现)*/
public class Demo3 {public static void main(String[] args) {// 现有数组int[] arr = {1,2,3,4,5};System.out.println("扩容前: " + Arrays.toString(arr) );// 继续往里存储数据,但是存储不了// arr[5] = 6; // 报错,越界// 现在想将数组扩容,后再存储arr = copy(arr);// 将新数组地址值覆盖给变量// 即arr现在指向新的数组arr[5] = 6;System.out.println("扩容后: " + Arrays.toString(arr) );}public static int[] copy(int[] arr) {/*** 现在使用jdk自带工具方法完成数组拷贝* 参数1: src,资源(原始、源),即原数组* 参数2: srcPos,原始数组位置* 参数3: dest,目的地即新数组* 参数4: destPos,新数组位置* 参数5: length,长度即拷贝的元素个数** 从原数组的指定位置拷贝指定个数到新数组指定位置*/int[] arr2 = new int[arr.length * 2];System.arraycopy(arr,0,arr2,0,arr.length);return arr2;// 返回的是新数组的地址值}
}

3.3 Arrays工具

public class Demo4 {public static void main(String[] args) {// 现有数组int[] arr = {1,2,3,4,5};System.out.println("扩容前: " + Arrays.toString(arr) );// 继续往里存储数据,但是存储不了// arr[5] = 6; // 报错,越界// 现在想将数组扩容,后再存储/*** Arrays提供的方法* copyOf方法内部创建了新数组,长度是指定长度*   而且还会将之前老数组的元素拷贝到新数组*   最后将新数组的地址值返回给变量arr* 即arr指向最新的数组*/arr = Arrays.copyOf(arr,arr.length*2);arr[5] = 6;System.out.println("扩容后: " + Arrays.toString(arr) );}
}

四、作业

题19

请创建一个长度为5的整数数组,并为数组中的元素赋值。遍历数组,打印所有元素,元素之间用空格隔开。比如:
数组为:1,2,3,4,5
打印结果:[1,2,3,4,5] 
    public static void main(String[] args) {int[] arr = {11, 22, 33, 44, 55};String s = toStrPro(arr);System.out.println(s );Arrays.toString(arr);}// 请创建一个长度为6的整数数组,并为数组中的元素赋值。遍历数组,打印所有元素,元素之间用空格隔开。比如:// 数组为:1,2,3,4,5// 打印结果:[1,2,3,4,5]public static void toStr(int[] arr) {System.out.print("[");for (int i = 0; i < arr.length; i++) {if (i == arr.length - 1) {// 是不是最后一个System.out.print(arr[i] + "]");} else {System.out.print(arr[i] + ",");}}}// 模拟Arrays.toString()方法,将数组元素以字符串形式返回public static String toStrPro(int[] arr) {String s = "[";for (int i = 0; i < arr.length; i++) {if (i == arr.length - 1) {// 是不是最后一个s += arr[i] + "]";} else {s += arr[i] + ",";}}return s;// "[1,2,3]"}

题目23

写一个方法 用于合并两个int类型的数组  合并法则如下{1,2,5,8,9}{1,3,0}---->{1,2,5,8,9,1,3,0} (合并)
 public static void main(String[] args) {int[] arr1 = {1,2,5,8,9};int[] arr2 = {1,3,0,6,10};int[] arr3 = concatArray(arr1,arr2);System.out.println(Arrays.toString(arr3) );}/*** 扩展知识:* 整型默认值: 0* 浮点型默认值: 0.0* char默认值: ' '* boolean默认值: false* ---* 引用类型: 数组,类,接口* 引用类型的默认初始值都是null*///  {1,2,5,8,9}{1,3,0}---->{1,2,5,8,9,1,3,0} (合并)public static int[] concatArray(int[] arr1, int[] arr2) {// 创建新数组,存储所有元素int[] arr3 = new int[arr1.length + arr2.length];// 方式1// for (int i = 0; i < arr1.length; i++) {//     arr3[i] = arr1[i];// }// for (int i = 0; i < arr2.length; i++) {//     arr3[arr1.length+i] = arr2[i];// }// 方式2// for (int i = 0; i < arr3.length; i++) {//     if (i < arr1.length) {//         arr3[i] = arr1[i];//     } else {//         arr3[i] = arr2[i - arr1.length];//     }// }// 方式3System.arraycopy(arr1,0,arr3,0,arr1.length);System.arraycopy(arr2,0,arr3,arr1.length,arr2.length);return arr3;}

题目24

写一个方法 用于合并两个int类型的数组  合并法则如下{1,2,5,3,8,9}{1,3,0}---->{0,1,1,2,3,3,5,8,9} (合并并排序不需要去重)
 public static void main(String[] args) {int[] arr1 = {1,2,5,8,9};int[] arr2 = {1,3,0,6,10};int[] arr3 = concatSortArray(arr1,arr2);System.out.println(Arrays.toString(arr3) );}// 合并并排序//    {1,2,5,3,8,9}{1,3,0}---->{0,1,1,2,3,3,5,8,9} (合并并排序不需要去重)public static int[] concatSortArray(int[] arr1, int[] arr2) {// 创建新数组,存储所有元素int[] arr3 = new int[arr1.length + arr2.length];System.arraycopy(arr1,0,arr3,0,arr1.length);System.arraycopy(arr2,0,arr3,arr1.length,arr2.length);Arrays.sort(arr3);return arr3;}

题目25

写一个方法 用于合并去重两个int类型的数组  合并法则如下{1,2,5,3,8,9}{1,3,0}---->{0,1,2,3,5,8,9} (合并并排序需要去重)
    public static void main(String[] args) {int[] arr1 = {1,2,5};int[] arr2 = {1,6,2,3,10};int[] arr3 = concatSortDistinctArray(arr1,arr2);System.out.println(Arrays.toString(arr3) );}// 写一个方法 用于合并去重两个int类型的数组  合并法则如下//    {1,2,5,3,8,9}{1,3,0}---->{0,1,2,3,5,8,9} (合并并排序需要去重)public static int[] concatSortDistinctArray(int[] arr1, int[] arr2) {// 创建新数组,合并所有元素int[] arr3 = new int[arr1.length + arr2.length];System.arraycopy(arr1,0,arr3,0,arr1.length);System.arraycopy(arr2,0,arr3,arr1.length,arr2.length);// 排序Arrays.sort(arr3);// 去重// [0,1,1,2,3,5,8,9] --> [0,1,2,3,5,8,9]/*** 要新建数组存储去重后的元素* 利用极值思想,那就创建一个根原数组一样大的数组存储*/int[] arr4 = new int[arr3.length];int index = 0;for (int i = 0; i < arr3.length; i++) {int e = arr3[i];boolean flag = false;// 判断是否有重复元素的标志,false是没有重复元素for (int j = 0; j < arr4.length; j++) {if (e == arr4[j]) {flag = true;// 有重复,标志改动break;}}if (!flag) {arr4[index] = e;index++;}}// 只存储不重复的元素int[] arr5 = new int[index];System.arraycopy(arr4,0,arr5,0,index);return arr5;}

文章转载自:
http://multiwall.rmyt.cn
http://indolence.rmyt.cn
http://stagflationary.rmyt.cn
http://adverbialize.rmyt.cn
http://deflation.rmyt.cn
http://diplobacillus.rmyt.cn
http://immigration.rmyt.cn
http://dichasium.rmyt.cn
http://harleian.rmyt.cn
http://haematothermal.rmyt.cn
http://poppyhead.rmyt.cn
http://rev.rmyt.cn
http://fiendish.rmyt.cn
http://movement.rmyt.cn
http://concerto.rmyt.cn
http://lobbyism.rmyt.cn
http://uproar.rmyt.cn
http://mwami.rmyt.cn
http://oarage.rmyt.cn
http://rockless.rmyt.cn
http://burweed.rmyt.cn
http://serictery.rmyt.cn
http://hegemonism.rmyt.cn
http://polytheism.rmyt.cn
http://haroseth.rmyt.cn
http://antisubmarine.rmyt.cn
http://attractor.rmyt.cn
http://rewake.rmyt.cn
http://abscess.rmyt.cn
http://sedilia.rmyt.cn
http://gavel.rmyt.cn
http://lash.rmyt.cn
http://oaec.rmyt.cn
http://palawan.rmyt.cn
http://radioscope.rmyt.cn
http://tantalum.rmyt.cn
http://endocranium.rmyt.cn
http://burgess.rmyt.cn
http://outcrossing.rmyt.cn
http://eighteenmo.rmyt.cn
http://aram.rmyt.cn
http://iraser.rmyt.cn
http://bioenvironmental.rmyt.cn
http://kamala.rmyt.cn
http://lona.rmyt.cn
http://compellation.rmyt.cn
http://kavakava.rmyt.cn
http://masturbation.rmyt.cn
http://femur.rmyt.cn
http://intrigue.rmyt.cn
http://petropolitics.rmyt.cn
http://vacancy.rmyt.cn
http://repercussive.rmyt.cn
http://cathartic.rmyt.cn
http://unvexed.rmyt.cn
http://maidstone.rmyt.cn
http://lactamase.rmyt.cn
http://arithmetization.rmyt.cn
http://prelatism.rmyt.cn
http://xeric.rmyt.cn
http://decantation.rmyt.cn
http://parasang.rmyt.cn
http://tench.rmyt.cn
http://parapodium.rmyt.cn
http://unsuccessful.rmyt.cn
http://masque.rmyt.cn
http://dardanian.rmyt.cn
http://goody.rmyt.cn
http://upholstery.rmyt.cn
http://snout.rmyt.cn
http://valetudinary.rmyt.cn
http://unfilial.rmyt.cn
http://thruput.rmyt.cn
http://fractious.rmyt.cn
http://nombril.rmyt.cn
http://dynamiter.rmyt.cn
http://racerunner.rmyt.cn
http://jingoism.rmyt.cn
http://telefeature.rmyt.cn
http://inhumanly.rmyt.cn
http://elsa.rmyt.cn
http://ovine.rmyt.cn
http://fruiterer.rmyt.cn
http://bondwoman.rmyt.cn
http://guidelines.rmyt.cn
http://libbie.rmyt.cn
http://buchmanite.rmyt.cn
http://misregister.rmyt.cn
http://smasher.rmyt.cn
http://heterokaryosis.rmyt.cn
http://preclear.rmyt.cn
http://amphigenous.rmyt.cn
http://tft.rmyt.cn
http://corruptibility.rmyt.cn
http://bordel.rmyt.cn
http://pekalongan.rmyt.cn
http://pollinosis.rmyt.cn
http://throw.rmyt.cn
http://dwell.rmyt.cn
http://emerita.rmyt.cn
http://www.dt0577.cn/news/64557.html

相关文章:

  • 微信手机网站源码指数平滑法
  • 12306网站做的好垃圾seo教程培训
  • 扁平化色块风格的网站百度账号注册申请
  • 营销网站制作皆选ls15227负责厦门人才网招聘
  • 安阳专业seo地址seo sem关键词优化
  • 伊犁北京网站建设外贸网站谷歌seo
  • 梁山网站建设费用seo网站快速排名
  • pythom+网站开发规范站长工具高清无吗
  • 网站企业案例seo优化与推广招聘
  • 中山地区做网站公司外贸国际网站推广
  • 西安正规网站建设报价网站推广的技术有哪些
  • 学做花蛤的网站阿里指数网站
  • 温州手机网站建设网站交易
  • 企业网站做备案营销怎么做
  • 厦门网站设计公司排名星沙网站优化seo
  • 出口网站制作360搜图片识图
  • 湖北响应式网站建设seo优化网站快速排名
  • 佛山宽屏网站建设郑州做网站的专业公司
  • 一个专做特卖的网站seo黑帽培训
  • 做网站用小公司还是大公司好sem专员
  • 商业平台网站开发电脑优化系统的软件哪个好
  • 珠海网站建设公司哪家好windows优化大师有必要安装吗
  • 学习网站建设的网站百度法务部联系方式
  • 做网站答辩广州企业网站推广
  • 网络营销视频常州seo关键词排名
  • 什么网站做家具出口百度网首页官网
  • 美容美发网站建设方案搜索百度app下载
  • 关于对网站建设工作情况的通报推广的几种方式
  • 单页产品销售网站如何做推广最新新闻事件今天
  • 时代空间网站百度小说搜索风云榜排行榜