Effective Java 中的代码,摘录于此:
package com.vefan.common.util;
import java.util.AbstractList;
import java.util.Collections;
import java.util.List;
/**
* 人生若只如初见,何事秋风悲画扇;等闲变却故人心,却道故人心易变。
* */
public class IntList
{
/**
* 把Int数组转化为List列表,以便于排序操作
* */
static List intArrayAsList(final int[] a){
if(a == null)
throw new NullPointerException();
return new AbstractList(){
@Override
public Object get(int index)
{
return new Integer(a[index]);
}
@Override
public int size()
{
return a.length;
}
//排序所用到的方法
public Object set(int index, Object o){
int oldVal = a[index];
a[index] = ((Integer)o).intValue();
return new Integer(oldVal);
}
};
}
public static void main(String[] args){
int[] a = new int[5];
for(int i=0; i<a.length; i++){
a[i] = i;
}
List lt = intArrayAsList(a);
System.out.println(lt);
Collections.shuffle(lt);
System.out.println(lt);
Collections.sort(lt);
}
}
分享到:
相关推荐
19. Python数据结构:二维数组可以通过嵌套列表实现,结构体可以使用字典类型,结构体数组(二维表)类似,链表可以使用Python的内置`list`或自定义类实现。 20. Python字符串排序:给定程序将去除重复字符并按字母...
- 序列化是将对象的状态转化为字节流以便于存储或传输的过程。 - 实现序列化通常需要让类实现`Serializable`接口或者手动实现`writeObject`和`readObject`方法。 7. **一个".java"源文件中是否可以包括多个类...
- **`String`类为什么是`final`的**:`String`类设计为`final`是为了保证字符串的不可变性和安全性,便于实现字符串池,提高性能。 - **`String`、`StringBuffer`、`StringBuilder`的区别与联系**: - `String`:不...
序列化是将对象的状态转化为字节流以便于传输或存储的过程;反序列化则是相反的过程。 ### IO流(InputStream, OutputStream) Java提供了多种输入输出流类,如`InputStream`和`OutputStream`,用于处理字节流。 #...
序列化是将对象的状态转化为字节流,以便于存储或传输。实现序列化需让类实现`Serializable`接口,或使用`ObjectOutputStream`和`ObjectInputStream`类。 #### 7. 一个".java"源文件中是否可以包括多个类(不是内部...
- **序列化**:是指将对象的状态转化为字节流的过程,以便于在网络上传输或保存到磁盘中。 - **实现序列化**:可以通过实现`Serializable`接口来实现对象的序列化,也可以使用`Externalizable`接口实现更细粒度的...
- **序列化**:将对象的状态转化为字节流,以便于存储或传输。 - **实现**:实现`Serializable`接口或使用`ObjectOutputStream`和`ObjectInputStream`类。 #### 7. 一个".java"源文件中是否可以包括多个类(不是...
**学习目的**:通过本课程的学习,学生能够掌握将现实世界中的问题转化为计算机可以处理的形式,并有效地对其进行管理和操作。 **基本术语**: - **数据**:指计算机可以识别、存储和处理的信息载体。 - **数据元素...
- 序列化是将对象的状态转化为字节流以便于保存或传输的过程。 ##### 12.12 Properties类 - 用于处理键值对,常用于配置文件。 #### 13. Java异常处理机制 ##### 13.1 使用try-catch捕获异常 - `try`块中放置可能...
7. **序列化**:Java序列化是将对象转化为字节流的过程,以便于存储或在网络上传输。实现序列化的类需实现`Serializable`接口。 8. **多态**:Java中实现多态的条件是子类继承父类或实现父接口,并且重写父类的方法...
- 当桶数量达到一定阈值时,可能会转化为红黑树。 - **多线程情况下HashMap死循环的问题:** - 在并发环境下,如果扩容时多个线程同时修改,可能导致环形链表,从而死循环。 - **ConcurrentHashMap的工作原理:*...
- 将对象的状态转化为字节流的过程称为序列化。 - 将字节流还原为对象的过程称为反序列化。 20. **泛型及其在Java中的应用** - 提供了一种类型安全的解决方案,允许在编译时检查类型安全。 - 泛型类和泛型方法...