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

Int数组转化为List列表,以便于排序操作

    博客分类:
  • 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);
		
	}
}
 
分享到:
评论

相关推荐

    2021-2022计算机二级等级考试试题及答案No.3884.docx

    19. Python数据结构:二维数组可以通过嵌套列表实现,结构体可以使用字典类型,结构体数组(二维表)类似,链表可以使用Python的内置`list`或自定义类实现。 20. Python字符串排序:给定程序将去除重复字符并按字母...

    Java企业级开发综合技能知识总结

    - 序列化是将对象的状态转化为字节流以便于存储或传输的过程。 - 实现序列化通常需要让类实现`Serializable`接口或者手动实现`writeObject`和`readObject`方法。 7. **一个".java"源文件中是否可以包括多个类...

    最新Java面试题

    - **`String`类为什么是`final`的**:`String`类设计为`final`是为了保证字符串的不可变性和安全性,便于实现字符串池,提高性能。 - **`String`、`StringBuffer`、`StringBuilder`的区别与联系**: - `String`:不...

    JavaSe总结

    序列化是将对象的状态转化为字节流以便于传输或存储的过程;反序列化则是相反的过程。 ### IO流(InputStream, OutputStream) Java提供了多种输入输出流类,如`InputStream`和`OutputStream`,用于处理字节流。 #...

    java面试题(尚学堂内部培训资源,绝对值得一看)

    序列化是将对象的状态转化为字节流,以便于存储或传输。实现序列化需让类实现`Serializable`接口,或使用`ObjectOutputStream`和`ObjectInputStream`类。 #### 7. 一个".java"源文件中是否可以包括多个类(不是内部...

    java面试题大集合

    - **序列化**:是指将对象的状态转化为字节流的过程,以便于在网络上传输或保存到磁盘中。 - **实现序列化**:可以通过实现`Serializable`接口来实现对象的序列化,也可以使用`Externalizable`接口实现更细粒度的...

    Java面试题以及答案

    - **序列化**:将对象的状态转化为字节流,以便于存储或传输。 - **实现**:实现`Serializable`接口或使用`ObjectOutputStream`和`ObjectInputStream`类。 #### 7. 一个".java"源文件中是否可以包括多个类(不是...

    数据结构复习笔记

    **学习目的**:通过本课程的学习,学生能够掌握将现实世界中的问题转化为计算机可以处理的形式,并有效地对其进行管理和操作。 **基本术语**: - **数据**:指计算机可以识别、存储和处理的信息载体。 - **数据元素...

    Java基础教程.md.pdf

    - 序列化是将对象的状态转化为字节流以便于保存或传输的过程。 ##### 12.12 Properties类 - 用于处理键值对,常用于配置文件。 #### 13. Java异常处理机制 ##### 13.1 使用try-catch捕获异常 - `try`块中放置可能...

    Java经典理论面试100题.pdf

    7. **序列化**:Java序列化是将对象转化为字节流的过程,以便于存储或在网络上传输。实现序列化的类需实现`Serializable`接口。 8. **多态**:Java中实现多态的条件是子类继承父类或实现父接口,并且重写父类的方法...

    Java后端技术面试基础汇总

    - 当桶数量达到一定阈值时,可能会转化为红黑树。 - **多线程情况下HashMap死循环的问题:** - 在并发环境下,如果扩容时多个线程同时修改,可能导致环形链表,从而死循环。 - **ConcurrentHashMap的工作原理:*...

    java面试八股文.pdf

    - 将对象的状态转化为字节流的过程称为序列化。 - 将字节流还原为对象的过程称为反序列化。 20. **泛型及其在Java中的应用** - 提供了一种类型安全的解决方案,允许在编译时检查类型安全。 - 泛型类和泛型方法...

Global site tag (gtag.js) - Google Analytics