`
l4432848
  • 浏览: 255069 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java的Arrays工具类实战

    博客分类:
  • java
阅读更多

      java.util.Arrays类能方便地操作数组,它提供的所有方法都是静态的。静态方法是属于类的,不是属于类的对象。所以可以直接使用类名加方法名进行调用。Arrays作为一个工具类,能很好的操作数组。下面介绍主要使用的几个函数。

  1.fill方法

  fill方法主要用来填充数组,这里我们举最简单的int类型吧(其它类型的一样)

  看Arrays的fill源码

  

  示例代码:

  Java代码

publicstaticvoidmain(String[] args) {

inta[]=newint[5];

//fill填充数组

Arrays.fill(a,1);

for(inti=0;i<5;i++)//输出5个1

System.out.println(a[i]);

}

  填充部分数组源码:

  

  示例:

  Java代码

publicstaticvoidmain(String[] args) {

inta[]=newint[5];

//fill填充数组

Arrays.fill(a,1,2,1);

for(inti=0;i<5;i++)//a[1]=1,其余默认为0

System.out.println(a[i]);

}

  2.sort方法

  从方法名看都知道是给数组排序,依然用int类型来说,其它类型一样的。

  一样有整个数组排序,如

  Java代码

publicstaticvoidmain(String[] args) {

inta[]={2,4,1,3,7};

 

Arrays.sort(a);

for(inti=0;i<5;i++)//升序

System.out.println(a[i]);

}

  指定数组部分排序:

  Java代码

publicstaticvoidmain(String[] args) {

inta[]={2,4,1,3,7};

 

Arrays.sort(a,1,4); //输出2,1,3,4,7

for(inti=0;i<5;i++)

System.out.println(a[i]);

}

  3.equals方法

  用于比较两个数组中的元素值是否相等,还是看int类型的数组。看Arrays源码

  

  示例:

  Java代码

publicstaticvoidmain(String[] args) {

inta[]={2,4,1,3,7};

inta1[]={2,4,1,5,7};

System.out.println(Arrays.equals(a1, a)); //输出false

 

}

  4.binarySearch方法

  通过binarySearch方法能对排序好的数组进行二分查找法操作。看源码如下

  

  示例:

  Java代码

publicstaticvoidmain(String[] args) {

inta[]={2,4,1,3,7};

 

Arrays.sort(a);//先排序

 

System.out.println(Arrays.binarySearch(a, 4));//二分查找,输出3

 

}

  5.copyof方法

  复制数组,Arrays的copyOf()方法传回的数组是新的数组对象,所以您改变传回数组中的元素值,也不会影响原来的数组

  如:

  Java代码

importjava.util.Arrays;

 

publicclassArrayDemo {

publicstaticvoidmain(String[] args) {

int[] arr1 = {1, 2, 3, 4, 5};

int[] arr2 = Arrays.copyOf(arr1, arr1.length);

 

for(inti = 0; i < arr2.length; i++)

System.out.print(arr2[i] + " ");

System.out.println();

}

}

技术分享:凯哥学堂

0
2
分享到:
评论

相关推荐

    Arrays工具类常用方法

    C语言自学完备手册(33篇) Android多分辨率适配框架 JavaWeb核心技术系列教程 ...在Java API中提供了操作数组的工具类 java.util.Arrays,例如:排序,查找,复制,数组转集合,数组转字符串等常见操

    JAVA 工具类集合,有自定义的,也有收藏的,以备项目使用.zip

    在Java的内置库中,`java.util.*` 包就包含了很多基础工具类,如 `ArrayList`、`HashMap`、`Collections` 和 `Arrays` 等。这些类提供了丰富的静态方法,例如排序、比较、复制和转换等操作。 压缩包中的文件名为 ...

    JAVA开发实战经典-课后习题答案-李兴华.pdf

    - **工具类库**: Java标准库中包含很多实用的工具类,如`java.util.Collections`、`java.util.Arrays`等。 #### Java IO操作 - **IO流**: Java中的IO操作依赖于流(Stream),包括输入流和输出流。 - **字节流和...

    java常用函数实战讲解.rar

    Java提供了数组操作的函数,如获取数组长度(`length`属性)、遍历数组(`for-each`循环)以及排序数组(`Arrays.sort()`)。理解这些函数可以帮助我们高效地管理和操作数组。 文件I/O操作在Java中也非常重要。Java...

    JAVA核心知识整理+详解+实战.rar

    Java标准库提供了大量实用类和工具,如Arrays、Collections、Date和Time API等,文件可能包含这些API的使用示例。 最后,如果涉及到实战部分,可能涵盖Web开发(如Servlet和JSP)、桌面应用(如Swing或JavaFX)、...

    清华大学JAVA教程

    8. **JAVA API和库**:熟悉JAVA标准库,如Swing或JavaFX用于构建图形用户界面,JDBC用于数据库连接,以及各种实用工具类,如Arrays、Collections等。 9. **JAVA开发工具**:使用IDE(如Eclipse、IntelliJ IDEA)...

    Java系列丛书之五 Java语言API类库.rar

    1. **基础类库**:这是Java API的基础,包括Object、String、Arrays等基本类型的类和接口。它们提供了基本的数据类型操作和通用的实用方法。 2. **集合框架**:包括List、Set、Map等接口以及ArrayList、HashSet、...

    阿里巴巴java开发手册最终版

    6. **并发编程**:提倡使用并发工具类如ConcurrentHashMap、CountDownLatch、CyclicBarrier等,避免手动同步。尽量避免使用Thread.sleep(),推荐使用TimeUnit类。 7. **日志记录**:提倡使用SLF4J日志框架,合理...

    《良葛格的Java学习笔记》

    13. **Java API**:Java标准库提供了丰富的API,如Math、String、Date、Calendar等类,以及各种实用工具类,如Arrays、Collections等。 14. **Java EE**:对于进一步的学习,笔记可能还会提及Java企业版(Java EE)...

    java高级编程第四章实用类

    - **java.util.Collections**:针对集合框架的工具类,提供了排序、反转、填充等操作。 - **java.text.DecimalFormat**:用于格式化数字和货币的实用类。 - **java.io.File**:处理文件和目录的操作,如创建、...

    java核心技术卷1

    - 数组操作:Arrays类中的排序、搜索方法。 - 集合框架:List、Set、Map等接口和其实现类。 - 输入/输出流:File、InputStream、OutputStream等。 4. **并发编程**: - 多线程基础:线程创建、同步、通信等。 ...

    java二级上机+笔试题库

    6. **线程与并发**:理解线程的概念,创建和管理线程,同步机制(如synchronized关键字、wait()、notify()和notifyAll()方法)以及并发工具类如Semaphore、CountDownLatch等。 7. **泛型**:泛型提供了一种在编译时...

    Java面试突击版1

    此外,深入理解集合工具类Collections和Arrays的方法,以及深拷贝与浅拷贝的区别。 面试过程中,对Java基础知识、多线程、JVM的理解以及实践经验都是评估候选人能力的重要方面。在准备面试时,要注重基础扎实,同时...

    java 高级语言编程 进阶版+中文

    排序是编程中的一个基础概念,Java为排序提供了一整套机制,包括Arrays和Collections类中的排序方法。高级学习内容可能会包括自定义排序比较器、稳定排序算法的实现细节以及性能分析。 5. 多线程 Java提供了丰富...

    潭州软件学院 - Java VIP系统基础学习课程表.pdf

    第五章围绕数组展开,详细阐述一维和二维数组的声明和使用,包括排序算法(冒泡排序和选择排序)、搜索方法(二分查找)以及Arrays工具类的使用。阶段项目旨在强化对数组原理和应用的理解。 第六章介绍了常用类,如...

    动力节点-Java基础视频教程

    - 数组工具类Arrays - 数据结构与集合框架 - List接口与实现类ArrayList、LinkedList - Set接口与实现类HashSet、TreeSet - Map接口与实现类HashMap、TreeMap - 输入输出流 - 文件读写操作 - 字节流与字符流...

    Stream_Java8.pdf

    2. **统计员工的最高薪资、平均薪资、薪资总数**:使用`collect`配合`Collectors`工具类完成统计。 ```java DoubleSummaryStatistics stats = employees.stream() .collect(Collectors.summarizingDouble...

    JAVA经典问题自己写程序验证

    理解并发工具类如Semaphore、CountDownLatch、CyclicBarrier的用途。 15. **JVM优化**: - 学习JVM内存模型,包括堆、栈、方法区等,以及如何调整JVM参数以优化性能。 通过自己编写程序验证这些经典问题,不仅...

    Java-Stream流详解.pptx.pptx

    - **使用Arrays.stream()**:针对数组,可以使用Arrays类的`stream()`方法,如`Arrays.stream(int[])`,创建特定类型的流。 - **Stream的静态方法**:如`Stream.of()`, `Stream.ofNullable()`, `Stream.empty()`等,...

Global site tag (gtag.js) - Google Analytics