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

JavaSE:数组深入学习与复习

学习参考

1、可变参数传递

数组可以是int等基本数据类型,也可以是String等引用类型

package com.test;public class Main {public static  void main(String [] args){int [] a = {1,2,3,4,5};test(78,90,12,34,56,78,90,12,34,56,78);}public static void test(int ...a){for(int i:a)System.out.print(i);}
}

2、数组转为List

package com.test;
import  java.util.*;
public class Main {public static  void main(String [] args){Integer [] a = {1,2,3,4,5};List<Integer> list = Arrays.asList(a);//a数组不能为基本数据类型的数组List<Integer> list1=Arrays.asList(1,2,3);//可以这样写,自动装箱//  list.add(6);  UnsupportedOperationException异常,Arrays生成的数组不可变// 数组长度不可变,a.length 是finala[1]=1;//但可以修改List<Integer> list2=new ArrayList<>(list);list2.add(6);  //OK,用ArrayList接收即可转为可变长数组}
}

3、Arrays工具类与数组

复制填充

package com.test;
import  java.util.*;
public class Main {public static  void main(String [] args){int a[]=new int[]{1,2,4,3,5,6,7,8,9,10};Arrays.sort(a);for(int i=0;i<a.length;i++)System.out.print(a[i]+" ");//1 2 3 4 5 6 7 8 9 10//二分查找int b=Arrays.binarySearch(a,5);System.out.println(b);//4//复制数组,Arrays工具类重写了tostring方法//不足用0,null填充int c[]=Arrays.copyOf(a,11);System.out.println(Arrays.toString(c));//[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0]int d[]=Arrays.copyOfRange(a,2,7);System.out.println(Arrays.toString(d));//[3, 4, 5, 6, 7]int e[]=new int[5];Arrays.fill(e,4);System.out.println(Arrays.toString(e));//[4, 4, 4, 4, 4]}
}

比较数组

package com.test;
import  java.util.*;
public class Main {public static  void main(String [] args){int a[]=new int[]{1,2,4,3,5,6,7,8,9,10};int b[]=Arrays.copyOf(a,a.length); //新建的数组,跟原来不在同一块空间int c[]=new int[]{10,9,8,7,6,5,4,3,2,1};int d[]=new int[]{1,2,4,3,5,6,7,8,9,10};System.out.println(Arrays.equals(b,a));//trueSystem.out.println(Arrays.equals(a,c));//falseSystem.out.println(Arrays.equals(a,d));//true//比较的是元素是否相等}
}

setAll(函数式编程)

package com.test;
import  java.util.*;
public class Main {public static  void main(String [] args){int[] array = new int[10];Arrays.setAll(array, i -> i * 10);System.out.println(Arrays.toString(array));//[0, 10, 20, 30, 40, 50, 60, 70, 80, 90]}
}

4、二维数组

package com.test;
import  java.util.*;
public class Main {public static  void main(String [] args){int [][] a=new int[2][];int [][] b={{1,2},{3,4}};int [][] c=new int[2][2];//   a[0][0]=1; //异常  空指针异常//System.out.println(a[0].length);   //异常,a[0]为nullc[0][0]=1;System.out.println(c[0][0]);//1System.out.println(c[0][1]);//0System.out.println(b[0][0]);//1}
}

5、打印数组

package com.test;
import  java.util.*;
public class Main {public static  void main(String [] args){int a[]=new  int[]{1,2,3,4,5,6,7,8,9,10};for(int i=0;i<a.length;i++)System.out.print(a[i]);//12345678910System.out.println();for(int i:a){System.out.print(i);//12345678910}System.out.println();Arrays.stream(a).forEach(System.out::print);//12345678910}
}

http://www.lryc.cn/news/472030.html

相关文章:

  • Redis 事务 总结
  • go sdk的安装或者升级
  • mongo实操笔记
  • 前端算法:树(力扣144、94、145、100、104题)
  • 深度学习速通系列:如何使用bert进行超长中文文本命名实体识别
  • 【感知模块】深度神经网络实现运动预测
  • 智能优化算法-蝗虫优化算法(GOA)(附源码)
  • TVM前端研究--Relay
  • STM32外设应用
  • Docker 部署 Jaeger
  • 使用Python和OpenCV实现火焰检测
  • uniapp基础笔记
  • 函数基础,定义与调用。作用域,闭包函数
  • 【Linux网络编程】 --- Linux权限理解
  • Qt/C++ 调用迅雷开放下载引擎(ThunderOpenSDK)下载数据资源
  • 深入详解 Java - Spring MVC
  • Spring Boot技术中小企业设备管理系统设计与实践
  • 动态渲染组件
  • 一个神秘的新图像生成模型red_panda出现 轻松击败Midjourney与OpenAI
  • 云计算平台上的DevOps实践
  • JS新功能之:全新 Set 方法
  • Flume的安装配置
  • 3.1.3 虚存页面的映射
  • 【SSM详细教程】-14-SpringAop超详细讲解
  • 虚拟机桥接模式连不上,无法进行SSH等远程操作
  • jmeter基础01-1_环境准备-windows系统安装jdk
  • 第六天: C语言核心概念与实战技巧全解析
  • 初始JavaEE篇——多线程(5):生产者-消费者模型、阻塞队列
  • 2024年下教师资格证面试报名详细流程❗
  • 软考:常用协议和端口号