数组的复制1

1.缺点

修改源数组,新数组的数据也随之改变

 public static void main(String[] args){//源数组String[] names = {"樱井步","深田咏美","濑亚美莉","吉泽明步"};//新数组String[] newNames = names;//修改源数组names[0] = "林成";//遍历新数组for(String name : newNames){System.out.println(name);}}
}

四、数组的复制2

 public static void main(String[] args){//源数组String[] names = {"樱井步","深田咏美","濑亚美莉","吉泽明步"};//新数组String[] newNames = new String[names.length];//将源数组中数据依次赋值给新数组for(int i = 0;i<names.length;i++){newNames[i] = names[i];}//修改源数组names[0] = "林成";//遍历新数组for(String name : newNames){System.out.println(name);}}
}

数组的扩容

 public static void main(String[] args){//源数组String[] names = {"樱井步","深田咏美","濑亚美莉","吉泽明步"};//新数组int capacity = names.length + (names.length>>1);//新容量:是源数组长度的1.5倍String[] newNames = new String[capacity];//把源数组所有的数据迁移到新数组中for(int i = 0;i<names.length;i++){newNames[i] = names[i];}//将新数组的地址赋值给源数组names = newNames;//遍历源数组for(String name:names){System.out.println(name);}}
}

数组的删除1

1.缺点

数组原本是存放数据的,删除元素后,数组长度变短

 public static void main(String[] args){//源数组String[] names = {"樱井步","深田咏美","濑亚美莉","吉泽明步"};//新数组String[] newNames = new String[names.length-1];//将源数组的数据迁移到新数组中,要删除的元素(深田咏美)除外int index = 0;//新数组的下标for(String name:names){if(!name.equals("深田咏美")){newNames[index] = name;index++;}}//将新数组的地址赋值给源数组names = newNames;//遍历源数组for(String name:names){System.out.println(name);}}
}

数组的删除2

 public static void main(String[] args){//源数组String[] names = {"樱井步","深田咏美","濑亚美莉","吉泽明步"};//数据的迁移for(int i = 1;i<names.length-1;i++){names[i] = names[i+1];}names[names.length-1] = null;//遍历源数组for(String name:names){System.out.println(name);}}
}

数组的参数和返回值

1.需求

设计一个方法,传入数组,返回最大值和最小值

 public static void main(String[] args){int[] is = {1,2,3,4,5,6};int[] newArr = method(is);System.out.println("最大值为:" + newArr[0]);System.out.println("最小值为:" + newArr[1]);}public static int[] method(int[] is){int max = is[0];int min = is[0];for(int i = 1;i<is.length;i++){if(max < is[i]){max = is[i];}if(min > is[i]){min = is[i];}}return new int[]{max,min};}
}

Java数组的复制、扩容、删除相关推荐

  1. java 数组删除_Java数组删除指定元素的方法(按数组角标删除)

    Java最有效的删除数组指定元素的方法,应该属于这一种形式,下面是Java数组按角标删除数据的工具类,代码如下:public static byte[] removeTheElement(byte[] ...

  2. 二维数组(拷贝/扩容/删除)——Java

    目录 前言 一.二维数组的声明及初始化 1.二维数组的声明 2.二维数组的初始化 2.1静态初始化 2.2动态初始化 二.访问数组元素 1.设置元素 1.1 设置元素 1.2 案例​​​​​​​ 2. ...

  3. java数组删除数据_Java 数组 之 一维数组 删除 元素

    /** 题目: 删除scores数组索引index位置的值 思路: 1. 创建一个临时比scores 小1的临时数组tempArray 2. 将index前面的数据复制到tempArray前面 3. ...

  4. java数组可扩展_[转载]Java数组扩容算法及Java对它的应用

    Java数组扩容的原理 1)Java数组对象的大小是固定不变的,数组对象是不可扩容的. 2)利用数组复制方法可以变通的实现数组扩容. 3)System.arraycopy()可以复制数组. 4)Arr ...

  5. Java数组扩容算法及Java对它的应用

    1)Java数组对象的大小是固定不变的,数组对象是不可扩容的.利用数组复制方法可以变通的实现数组扩容.System.arraycopy()可以复制数组.Arrays.copyOf()可以简便的创建数组 ...

  6. [转载]Java数组扩容算法及Java对它的应用

    原文链接:http://www.cnblogs.com/gw811/archive/2012/10/07/2714252.html Java数组扩容的原理 1)Java数组对象的大小是固定不变的,数组 ...

  7. java数组循环扩容_Java中实现数组动态扩容的两种方法

    Java中实现数组动态扩容的两种方法 java中初始化一个数组需要定义数组的容量,而在我们使用数组时往往会遇到数组容量不够的情况,此时我们就需要通过动态扩容的方式来来根据需求扩大数组的容量. 我们可以 ...

  8. java数组删除数组元素_如何在Java中删除数组元素

    java数组删除数组元素 When we create an array in Java, we specify its data type and size. This is used by JVM ...

  9. 在java中如何对数组实现添加、删除和插入操作呢?

    我们知道,在C语言和java当中都是一种十分重要的数据结构,但是熟悉数组的朋友都知道,数组一旦被赋值就很难被轻易改动,相比之下人们往往更偏向另一种类似于数组当中但比数组更灵活的集合类型.但是,爱挑战的 ...

  10. java中数组的复制

    数组复制使我们在编程过程中经常要使用到的,在java中数组复制我们大概能够分为两种,一种是引用复制,还有一种就是深度复制(复制后两个数组互不相干). 以下我们就通过測试的方法来具体看看什么是引用复制和 ...

最新文章

  1. Oracle集合操作
  2. python积分管理系统_python实现每天自动签到领积分的示例代码
  3. 详解pytorch中的常见的Tensor数据类型以及类型转换
  4. 读锁调度导致高延迟的 case 一例
  5. Netty中的策略者模式
  6. ImageMagick 拆分透明PNG 合并JPG和Alpha Mask
  7. Java并发编程的艺术笔记(四)——ThreadLocal的使用
  8. 检测PYthon标识符合法性脚本
  9. arcgis怎么压缩tif文件_PDF文件怎么压缩?这个方法一看就会!
  10. ipv6协议学习笔记(1)-ipv6基础
  11. 不知道如何识别图片文字?这个方法用了都说好
  12. Oracle视图(View)----------------数据库中虚拟的表
  13. 悼念王选:伟大发明家和失意企业家间的孤独者
  14. java-IO-字节数组输入输出流(ByteArrayInputStream、ByteArrayOutputStream)
  15. 第二章 Pyton语言基础、Ipython及Jupyter notebook(?功能,%run命令,魔法函数)
  16. 35种低碳水化合物食物清单
  17. 深信服2018校园招聘C++工程师编程题 - 题解
  18. 华为云存储空间图库占比太大_华为手机照片太多?放这里既安全又不占内存,瞬间腾出50G空间...
  19. 闭关修炼(一)多线程
  20. 2021-06-18杭电ACM-LCY算法进阶培训班-专题训练16

热门文章

  1. Android 进阶之路《丢掉初学者的诟病》
  2. golang 时间格式化
  3. 如何让计算机从固态硬盘启动不了,电脑设置固态硬盘启动的方法
  4. pygame编写飞机大战(9)-播放爆炸动画
  5. 打开资源管理器显示该文件没有与之关联的程序来执行该操作......
  6. Unity中Vive Controller手柄模型渲染流程和模型替换
  7. hp m281_惠普m281fdw驱动下载-hpm281fdw打印机驱动v44.3 官方版 - 极光下载站
  8. ios 图片合成幻灯片_为iPad构建iOS幻灯片应用程序
  9. 计算机中图分类法,计算机中图分类号.doc
  10. 算法笔记方法论4 枚举法 详细笔记