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.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 文件。这个JAR文件是Java应用程序中常见的...
protobuf-java-util-3.1.0.jar下载,配合protobuf3.1.jar的util包
在给定的文件信息中,我们看到两个重要的文件:"cors-filter-1.7.jar" 和 "java-util-1.9.1.jar",这些都是与Java相关的库文件,通常用于增强应用程序的功能。 首先,让我们来详细探讨"Cors Filter"。CORS(Cross-...
`java.util.Iterator`接口定义了三个核心方法:`hasNext()`、`next()`和`remove()`。这些方法使得遍历集合成为可能,同时也隐藏了集合的具体实现细节。这意味着无论集合是基于数组还是链表实现的,客户端都可以使用...
标签:eclipse、jetty、util、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心...
本文将深入探讨这个包的1.3.1版本,主要基于其核心组件——`java-util-1.3.1.jar`,来解析其中的关键知识点,帮助开发者更好地理解和应用这个强大的工具库。 首先,`java-util`并非Java标准库中的部分,而是由第三...
标签:eclipse、jetty、util、ajax、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准...
包含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...
赠送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依赖信息文件:...
标签:eclipse、jetty、util、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心...
---clientDao.java ---clientDaoImp.java ---DaoFactory.java com.jsp.service ---addClientServlet.java ---delClientServlet.java ---findClientsServlet.java ---listClientsServlet.java ---modClientServlet....
标签:eclipse、jetty、util、ajax、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,...
赠送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互转及字符串转换为日期时间格式 #### 一、Java.util.Date与Java.sql.Date的基本概念 在Java编程语言中,处理日期和时间时经常使用到`java.util.Date`和`java.sql.Date`这两个类...
### Java.util.Date与Java.sql.Date相互转换 #### 知识点概述 在Java开发中,经常需要处理日期和时间相关的操作。Java标准库提供了两个重要的日期类:`java.util.Date` 和 `java.sql.Date`。虽然它们名字相似,但...
1. java.util.concurrent - Java 并发工具包 2. 阻塞队列 BlockingQueue 3. 数组阻塞队列 ArrayBlockingQueue 4. 延迟队列 DelayQueue 5. 链阻塞队列 LinkedBlockingQueue 6. 具有优先级的阻塞队列 ...
标签:eclipse、jetty、util、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心...
标签:eclipse、jetty、util、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请...