`
12616383
  • 浏览: 51514 次
  • 性别: Icon_minigender_1
  • 来自: 待定
社区版块
存档分类
最新评论

java core--java 核心技术学习笔记----java.util.Arrays

阅读更多
package com.zfsoft.monday;

import java.util.Arrays;

public class Array {
	
	Arrays autil ;
	
	static int[] a = {3,5,2,6,7,4,5};
	static int[] b = {11,55,88,33};
	static int [] c;
	
	public static void main(String[] args) {
		
		Array arr = new Array();
		
		//排序
		arr.sort(a);
		
		//没有通过排序的数组进行二分搜索
		for(int serachObject:a){
			
			arr.arraySearch(a, serachObject);
		}
		
		
		//通过排序后的数组进行二分搜索
		arr.sort(a);
		
		for(int serachObject:a){
			
			arr.arraySearch(a, 4);
		}
		
		
		//数组拷贝
		arr.copyArray(a,0,b,0,b.length);
		
		//数组填充
		arr.Fill(b, 0, b.length, 888);
		
	}
	
	/**
	 * 数组的拷贝
	 * 当源数组和拷贝数组的长度不一致时,应取最短的长度,否则会数组越界
	 */
	
	public  void copyArray(int[] copyArray, int copyStartIndex ,int[] Array,int stratIndex,int length){
		
		System.arraycopy(copyArray, copyStartIndex, Array, stratIndex, length);
		
		System.out.println(autil.toString(b));
	}
	
	/**
	 * jdk6中 的新方法
	 */
	
	//返回复制后的新数组
	//public static int[] copyOf(int[] original,int newLength);
	
	
	//根据起点索引,和终点索引,复制相应的值到新数组
	//public static int[] copyOfRange(int[] original,int from,int to);
	
	
	
	
	/**
	 * 填充数组
	 * 填充数组的最后一个值的索引不包含在替换内,例子:如果截止索引为1,那么只填充array[0]位置上值,不填充array[1]
	 * @param array
	 * @param startIndex
	 * @param endIndex
	 * @param val
	 */
	public void Fill(int[] array,int startIndex,int endIndex,int val){
		autil.fill(array, startIndex,endIndex,val);
		
		System.out.println(autil.toString(array));
	}
	
	
	
	/**
	 * 采用冒泡排序法对数组进行排序
	 * @param array
	 */
	public void sort(int[] array){
		
		System.out.println("排序前"+autil.toString(array));
		
		autil.sort(array);
		
		System.out.println("排序后"+autil.toString(array));
	}
	
	
	
	/**
	 * 采用二分搜索法,
	 * 此方法查询前,必须对数组进行排序。
	 * @param a
	 * @param key
	 * @return
	 */
	
	public void arraySearch(int[] array,int object){
		
		//排序
		autil.sort(array);
		
		System.out.println(Array.binarySearch(array, object));
		
	}
	
	
	/**
	 * 二分搜索的源代码
	 * @param a
	 * @param key
	 * @return
	 */
	public static int binarySearch(int[] a, int key) {
		int low = 0;
		int high = a.length-1;

		while (low <= high) {
		    int mid = (low + high) >> 1;
		    int midVal = a[mid];

		    if (midVal < key)
			low = mid + 1;
		    else if (midVal > key)
			high = mid - 1;
		    else
			return mid; // key found
		}
		return -(low + 1);  // key not found.
	    }
	
}

 

分享到:
评论

相关推荐

    asm-util-3.2.jar

    asm-util-3.2.jarasm-util-3.2.jarasm-util-3.2.jarasm-util-3.2.jarasm-util-3.2.jarasm-util-3.2.jarasm-util-3.2.jarasm-util-3.2.jarasm-util-3.2.jarasm-util-3.2.jarasm-util-3.2.jarasm-util-3.2.jarasm-util...

    ws-commons-util-1.0.2.zip_ws-comm-util.jar

    【标题】"ws-commons-util-1.0.2.zip_ws-comm-util.jar" 提供的是一个名为 ws-commons-util 的库的版本1.0.2,这个库经过压缩打包成ZIP格式,其中包含了 ws-comm-util.jar 文件。这个JAR文件是Java应用程序中常见的...

    protobuf-java-util-3.1.0.jar

    protobuf-java-util-3.1.0.jar下载,配合protobuf3.1.jar的util包

    cors-filter-1.7.jar java-util-1.9.1.jar

    在给定的文件信息中,我们看到两个重要的文件:"cors-filter-1.7.jar" 和 "java-util-1.9.1.jar",这些都是与Java相关的库文件,通常用于增强应用程序的功能。 首先,让我们来详细探讨"Cors Filter"。CORS(Cross-...

    java-util-iterator.pdf java-util-iterator.pdf

    `java.util.Iterator`接口定义了三个核心方法:`hasNext()`、`next()`和`remove()`。这些方法使得遍历集合成为可能,同时也隐藏了集合的具体实现细节。这意味着无论集合是基于数组还是链表实现的,客户端都可以使用...

    jetty-util-9.4.43.v20210629-API文档-中文版.zip

    标签:eclipse、jetty、util、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心...

    backport-util-concurrent.jar

    backport-util-concurrent.jarbackport-util-concurrent.jarbackport-util-concurrent.jar

    java-util-1.3.1.jar.zip

    本文将深入探讨这个包的1.3.1版本,主要基于其核心组件——`java-util-1.3.1.jar`,来解析其中的关键知识点,帮助开发者更好地理解和应用这个强大的工具库。 首先,`java-util`并非Java标准库中的部分,而是由第三...

    jetty-util-ajax-9.3.19.v20170502-API文档-中英对照版.zip

    标签:eclipse、jetty、util、ajax、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准...

    hadoop-2.10.0jar.zip

    包含hadoop平台Java开发的所有所需jar包,例如activation-1.1.jar apacheds-i18n-2.0.0-M15.jar apacheds-kerberos-codec-2.0.0-M15.jar api-asn1-api-1.0.0-M20.jar api-util-1.0.0-M20.jar asm-3.2.jar avro-1.7.7...

    java.util.logging.Logger使用详解

    ### Java.util.logging.Logger 使用详解 #### 一、创建Logger对象 在Java中,`java.util.logging.Logger` 是...通过本文的学习,开发者能够更好地掌握 `java.util.logging` 框架的核心概念,并在实际项目中灵活运用。

    protobuf-java-util-shaded-351-0.9-API文档-中文版.zip

    赠送jar包:protobuf-java-util-shaded-351-0.9.jar; 赠送原API文档:protobuf-java-util-shaded-351-0.9-javadoc.jar; 赠送源代码:protobuf-java-util-shaded-351-0.9-sources.jar; 赠送Maven依赖信息文件:...

    jetty-util-9.4.8.v20171121-API文档-中文版.zip

    标签:eclipse、jetty、util、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心...

    jsp+servlet+eclipse+mysql(包含源码和数据库)

    ---clientDao.java ---clientDaoImp.java ---DaoFactory.java com.jsp.service ---addClientServlet.java ---delClientServlet.java ---findClientsServlet.java ---listClientsServlet.java ---modClientServlet....

    jetty-util-ajax-9.3.19.v20170502-API文档-中文版.zip

    标签:eclipse、jetty、util、ajax、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,...

    protobuf-java-util-shaded-351-0.9-API文档-中英对照版.zip

    赠送jar包:protobuf-java-util-shaded-351-0.9.jar; 赠送原API文档:protobuf-java-util-shaded-351-0.9-javadoc.jar; 赠送源代码:protobuf-java-util-shaded-351-0.9-sources.jar; 赠送Maven依赖信息文件:...

    java.util.Date与java.sql.Date互转及字符串转换为日期时间格式.docx

    ### Java.util.Date与Java.sql.Date互转及字符串转换为日期时间格式 #### 一、Java.util.Date与Java.sql.Date的基本概念 在Java编程语言中,处理日期和时间时经常使用到`java.util.Date`和`java.sql.Date`这两个类...

    java.util.Date与java.sql.Date相互转换

    ### Java.util.Date与Java.sql.Date相互转换 #### 知识点概述 在Java开发中,经常需要处理日期和时间相关的操作。Java标准库提供了两个重要的日期类:`java.util.Date` 和 `java.sql.Date`。虽然它们名字相似,但...

    java并发工具包 java.util.concurrent中文版用户指南pdf

    1. java.util.concurrent - Java 并发工具包 2. 阻塞队列 BlockingQueue 3. 数组阻塞队列 ArrayBlockingQueue 4. 延迟队列 DelayQueue 5. 链阻塞队列 LinkedBlockingQueue 6. 具有优先级的阻塞队列 ...

Global site tag (gtag.js) - Google Analytics