- 浏览: 63368 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
maozilee:
试试先@@ 就喜欢开源的!
我的画流程图的开源工具 -
nything:
eccojap 写道1.信息渠道很重要。
2.内部推荐成功率比 ...
这几天找工作 -
xuehu2009:
谢谢您的指点
安装tomcat出错failed to install tomcat5 service问题的解决方法 -
night_lone:
eccojap 写道1.信息渠道很重要。2.内部推荐成功率比较 ...
这几天找工作 -
eccojap:
1.信息渠道很重要。
2.内部推荐成功率比较大。
社会是不公平 ...
这几天找工作
Array类封装了很多操作数组的方法。如:排序(sort)和寻找(search)等。也封装了一个静态工厂可以让数组看做list来操作。
Array中的方法都会抛出一个NullPointerException异常。条件:当Array为null时。
Array类属于java集合框架的一个成员。
主要封装了以下方法:
1. private Arrays();默认的私有构造方法;
2.public static void sort(A[] a) 对各种基本类型的数组进行调优了的快速排序,为升序。
A可以为long,int,float,char,byte,double,short型。它具体实现是:调用sort1(a, 0, a.length);方法
3.public static void sort(A[] a, int fromIndex, int toIndex)对数组的一段范围内的元素进行升序排序。范围为:从fromIndex到toIndex。 它具体实现: rangeCheck(a.length, fromIndex, toIndex);//检查索引是否合法
sort1(a, fromIndex, toIndex-fromIndex);
4.public static int binarySearch(A[] a, A key)在数组中寻找值为key的元素,在调用此方法前,必须调用sort()方法进行排序。具体实现:return binarySearch0(a, 0, a.length, key);
5.public static int binarySearch(A[] a, int fromIndex, int toIndex, A key)寻找一个范围的元素。返回int型的索引。具体实现:rangeCheck(a.length, fromIndex, toIndex); return binarySearch0(a, fromIndex, toIndex, key);
6. public static boolean equals(A[] a, A[] a2)如果两个数组包含相同的元素,在相同的位置。 In other words, two arrays are equal if they contain the same elements in the same order. Also, two array references are considered equal if both are null。
7.public static void fill(A[] a, A val) 给数组中的每个元素填充一个值。具体实现:
fill(a, 0, a.length, val);
val 就是那个值将存储在每个数组元素中。
8.public static void fill(A[] a, int fromIndex, int toIndex, long val) 填充数组的一个范围。 具体实现:
rangeCheck(a.length, fromIndex, toIndex);
for (int i=fromIndex; i<toIndex; i++)
a[i] = val;
public static <T> A[] copyOf(T[] original, int newLength)复制数组
具体实现:
return (A[]) copyOf(original, newLength, original.getClass());
9. public static A[] copyOfRange(A[] original, int from, int to)//复制数组的一个范围
10.public static <T> List<T> asList(T... a) //返回一个固定大小的list,list是数组a的备份。这个方法就象array-based 和 collection-based APIs间的桥梁。返回的list是serializable的 ,实现了RandomAccess接口。
具体实现: return new ArrayList<T>(a);
private static class ArrayList<E> extends AbstractList<E>
implements RandomAccess, java.io.Serializable
{
private static final long serialVersionUID = -2764017481108945198L;
private final E[] a;
ArrayList(E[] array) {
if (array==null)
throw new NullPointerException();
a = array;
}
public int size() {
return a.length;
}
public Object[] toArray() {
return a.clone();
}
public <T> T[] toArray(T[] a) {
int size = size();
if (a.length < size)
return Arrays.copyOf(this.a, size,
(Class<? extends T[]>) a.getClass());
System.arraycopy(this.a, 0, a, 0, size);
if (a.length > size)
a[size] = null;
return a;
}
public E get(int index) {
return a[index];
}
public E set(int index, E element) {
E oldValue = a[index];
a[index] = element;
return oldValue;
}
public int indexOf(Object o) {
if (o==null) {
for (int i=0; i<a.length; i++)
if (a[i]==null)
return i;
} else {
for (int i=0; i<a.length; i++)
if (o.equals(a[i]))
return i;
}
return -1;
}
public boolean contains(Object o) {
return indexOf(o) != -1;
}
}
11.public static int hashCode(A a[]) 返回一个基于数组内容的haccode,如果两个数组的相等,则它们返回的hashCode也相同。
具体实现:
if (a == null)
return 0;
int result = 1;
for (long element : a) {
int elementHash = (int)(element ^ (element >>> 32));
result = 31 * result + elementHash;
}
return result;
12.public static int deepHashCode(Object a[])
13.public static String toString(A[] a)返回数组元素的字符串表示
具体实现: if (a == null)
return "null";
int iMax = a.length - 1;
if (iMax == -1)
return "[]";
StringBuilder b = new StringBuilder();
b.append('[');
for (int i = 0; ; i++) {
b.append(a[i]);
if (i == iMax)
return b.append(']').toString();
b.append(", ");
}
14.public static String deepToString(Object[] a)
sort()快速排序具体的实现代码在API中。
Array中的方法都会抛出一个NullPointerException异常。条件:当Array为null时。
Array类属于java集合框架的一个成员。
主要封装了以下方法:
1. private Arrays();默认的私有构造方法;
2.public static void sort(A[] a) 对各种基本类型的数组进行调优了的快速排序,为升序。
A可以为long,int,float,char,byte,double,short型。它具体实现是:调用sort1(a, 0, a.length);方法
3.public static void sort(A[] a, int fromIndex, int toIndex)对数组的一段范围内的元素进行升序排序。范围为:从fromIndex到toIndex。 它具体实现: rangeCheck(a.length, fromIndex, toIndex);//检查索引是否合法
sort1(a, fromIndex, toIndex-fromIndex);
4.public static int binarySearch(A[] a, A key)在数组中寻找值为key的元素,在调用此方法前,必须调用sort()方法进行排序。具体实现:return binarySearch0(a, 0, a.length, key);
5.public static int binarySearch(A[] a, int fromIndex, int toIndex, A key)寻找一个范围的元素。返回int型的索引。具体实现:rangeCheck(a.length, fromIndex, toIndex); return binarySearch0(a, fromIndex, toIndex, key);
6. public static boolean equals(A[] a, A[] a2)如果两个数组包含相同的元素,在相同的位置。 In other words, two arrays are equal if they contain the same elements in the same order. Also, two array references are considered equal if both are null。
7.public static void fill(A[] a, A val) 给数组中的每个元素填充一个值。具体实现:
fill(a, 0, a.length, val);
val 就是那个值将存储在每个数组元素中。
8.public static void fill(A[] a, int fromIndex, int toIndex, long val) 填充数组的一个范围。 具体实现:
rangeCheck(a.length, fromIndex, toIndex);
for (int i=fromIndex; i<toIndex; i++)
a[i] = val;
public static <T> A[] copyOf(T[] original, int newLength)复制数组
具体实现:
return (A[]) copyOf(original, newLength, original.getClass());
9. public static A[] copyOfRange(A[] original, int from, int to)//复制数组的一个范围
10.public static <T> List<T> asList(T... a) //返回一个固定大小的list,list是数组a的备份。这个方法就象array-based 和 collection-based APIs间的桥梁。返回的list是serializable的 ,实现了RandomAccess接口。
具体实现: return new ArrayList<T>(a);
private static class ArrayList<E> extends AbstractList<E>
implements RandomAccess, java.io.Serializable
{
private static final long serialVersionUID = -2764017481108945198L;
private final E[] a;
ArrayList(E[] array) {
if (array==null)
throw new NullPointerException();
a = array;
}
public int size() {
return a.length;
}
public Object[] toArray() {
return a.clone();
}
public <T> T[] toArray(T[] a) {
int size = size();
if (a.length < size)
return Arrays.copyOf(this.a, size,
(Class<? extends T[]>) a.getClass());
System.arraycopy(this.a, 0, a, 0, size);
if (a.length > size)
a[size] = null;
return a;
}
public E get(int index) {
return a[index];
}
public E set(int index, E element) {
E oldValue = a[index];
a[index] = element;
return oldValue;
}
public int indexOf(Object o) {
if (o==null) {
for (int i=0; i<a.length; i++)
if (a[i]==null)
return i;
} else {
for (int i=0; i<a.length; i++)
if (o.equals(a[i]))
return i;
}
return -1;
}
public boolean contains(Object o) {
return indexOf(o) != -1;
}
}
11.public static int hashCode(A a[]) 返回一个基于数组内容的haccode,如果两个数组的相等,则它们返回的hashCode也相同。
具体实现:
if (a == null)
return 0;
int result = 1;
for (long element : a) {
int elementHash = (int)(element ^ (element >>> 32));
result = 31 * result + elementHash;
}
return result;
12.public static int deepHashCode(Object a[])
13.public static String toString(A[] a)返回数组元素的字符串表示
具体实现: if (a == null)
return "null";
int iMax = a.length - 1;
if (iMax == -1)
return "[]";
StringBuilder b = new StringBuilder();
b.append('[');
for (int i = 0; ; i++) {
b.append(a[i]);
if (i == iMax)
return b.append(']').toString();
b.append(", ");
}
14.public static String deepToString(Object[] a)
sort()快速排序具体的实现代码在API中。
发表评论
-
java main函数命令行传参星号*处理
2009-10-18 21:57 1334默认情况下,操作系统对星号*的处理,是当做通配符。 ... -
Java SE 6.0加强了JDBC 4.0
2009-01-15 22:23 978Java SE 5.0(代码叫做:Tiger 老虎) Java ... -
Best Practices for Exception Handling(异常处理最佳实践)
2009-01-01 23:59 1467在JE中一为仁兄的博客 ... -
RMI初探
2008-11-27 14:24 647RMI是一种调用远程主机上方法的分布式技术。它主要有两个对象: ... -
JDK工具库
2008-11-27 12:57 899工具库主要有7种主要程序: javac: Java编译器,将源 ... -
一个数组声明的题目
2008-11-17 17:09 761which of the followiing are val ... -
正则表达式初探
2008-11-17 16:32 662在JDK中的正则引擎主要有五个类:ASCII.class ... -
String 与StringBuffer的关键点
2008-11-17 14:23 833StringBuffer关键点: 1.简单认为.appe ... -
抽象类与接口
2008-11-17 10:45 797对java抽象类的理解如下 ... -
不能继承的情况
2008-11-17 10:01 680匿名的内部类是没有名字的内部类,不能extends其他类,但一 ... -
super和this
2008-11-17 09:16 773子类里的构造函数如果要引用super的话,必须吧super放在 ... -
重载与覆盖的区别
2008-11-17 09:02 736重载与覆盖的区别在于方法体不同。 成员函数被重载的特征如下: ... -
有异常的代码性能比没有用异常的性能还好??
2008-11-16 21:43 802看以下两段代码:A package net.betterjav ... -
高质量程序设计--异常
2008-11-16 19:30 793异常处理,是Java中最强大,也是最容易被误用的机制。 使用异 ... -
计算程序运行时间的代码
2008-11-16 09:19 858在编码时候,有时候要比较不同方案的性能,就需要比较她们运行的时 ... -
ArrayList Vector LinkedList 区别与用法
2008-11-14 15:33 1014ArrayList 和 Vector 是采用数组方式存储数据 ... -
线程同步知识
2008-11-12 16:25 733在论坛里看到一篇讲线 ... -
java.util#List.java初读
2008-11-11 13:23 1307List是一种有序的集合(An ordered collect ...
相关推荐
Java.util包是Java标准库中的核心包之一,它包含了大量用于通用编程的类和接口,是Java开发中不可或缺的一部分。这个包提供了数据结构、集合框架、事件处理、日期时间、随机数生成、位集以及与I/O流操作相关的辅助...
Java.util包是Java标准库中的核心包之一,它包含了大量用于日常编程的工具类和接口。这个包在Java 2版本中得到了显著增强,引入了许多重要的数据结构和算法,为Java程序员提供了更丰富的功能。 首先,Java.util包中...
com.springsource.edu.emory.mathcs.backport-3.1.0.jar
在Java编程语言中,`import java.util.Scanner;` 是一个非常基础且重要的语句,它引入了`java.util.Scanner`类。这个类是Java标准库的一部分,主要用于从各种输入源读取数据,如键盘、文件、系统环境变量等。在这个...
- java.util.Arrays#asList(),返回一个固定大小的列表。 - java.util.ResourceBundle#getBundle(),加载资源束。 ***.URL#openConnection(),创建一个URL连接实例。 - java.sql.DriverManager#getConnection()...
- `java.util.Arrays#asList()`: 将数组转换为列表。 - `javax.swing.JTable(TableModel)`: 使用`TableModel`作为数据模型的适配器。 - `java.io.InputStreamReader(InputStream)`: 从输入流中读取字符。 - `java.io...
### Java的.awt包和.java.util包的区别 #### Java.util包详解 Java.util包是一个非常重要的标准库之一,其中包含了大量有用的类和接口,为开发者提供了丰富的功能。此包中的类和接口可以分为以下几大类别: 1. **...
- `java.util.Arrays#asList()`:用于将数组转换为列表。 - `java.util.ResourceBundle#getBundle()`:用于获取资源绑定到特定的区域设置。 - `java.net.URL#openConnection()`:打开一个到URL引用的资源的连接。 - ...
java.util数组操作代码,数组复制,数组排序,数组赋值,数组相等判断
import java.util.Arrays; import java.util.HashSet; import java.util.Set; public class RemoveDuplicates { public static void main(String[] args) { // 定义一个包含重复整数的数组 int[] nums = {1, 2, ...
解释:在 Spring 框架中,需要在 Java 主方法中实例化 ApplicationContext 对象,以便启动 Spring 应用程序。 第 4 题 题目:Consider the following code sample which creates an ApplicationContext from a file...
- **类介绍**:`java.util.Arrays` 类提供了大量的静态方法来操作数组。这些方法包括排序、搜索、填充等。 - **排序**: - `sort()` 方法可以对指定的数组内容进行排序,排序后的数组元素按照自然顺序或自定义比较...
例如,java.util.Calendar#getInstance() 方法将创建一个 Calendar 对象,java.util.Arrays#asList() 方法将创建一个 List 对象。 9. 生成器模式(Builder Pattern) 生成器模式是指将一个复杂的对象分步骤创建。...
1. **`java.util.Arrays`**: 这个类提供了对数组进行排序、查找、复制等操作的方法,如`Arrays.sort()`用于排序数组,`Arrays.asList()`将数组转换为列表。 2. **`java.util.Collections`**: 类似于`Arrays`,但...
7. **实用工具类**:`java.util.Arrays`和`java.util.Collections`提供静态方法,用于操作数组和集合,如排序、复制和填充。 8. **并发编程**:`java.util.concurrent`包虽然不在`java.util`下,但与之紧密相关,...
2. **`java.util.Arrays`**:提供了一系列静态方法来操作数组,包括排序、复制、填充和比较等。 3. **`java.util.Collections`**:与`Arrays`类似,但针对集合框架中的接口和类,如`List`、`Set`和`Map`,提供排序...
com.springsource.edu.emory.mathcs.backport_3.1.0.jar