Java数组去掉反复的方法集

经经常使用到,有时候不仅仅是简单的基本类型,那种能够用set集合去重,好多时间用到的是我们自己定义的类型,以下举个样例(我这儿就那int举例了):

方法一、 这样的类似与选择排序算法,首先我们取i值,然后将i之后的全部反复的去掉。详细实现例如以下:

import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;

/**
 * 创建时间:2014-11-18 下午3:26:35
 *
 * @author zhangtianyou
 * @version 2.2
 */

public class ArrayRemoveRepeat {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// 原始数组是{4,2,4,6,1,2,4,7,8, 8, 19,11},得到结果{4,2,6,1,7,8}。

System.out.println("之前的数组");
		Integer[] src = { 4, 2, 4, 6, 1, 2, 4, 7, 8 };
		for (Integer k : src) {
			System.out.print(k + ",");
		}

		List<Integer> list = new CopyOnWriteArrayList<Integer>(src);

		int i = 0;
		while (i < list.size() - 1) {

			int j = i+1;
			while (j < list.size()) {
				if (list.get(i) == list.get(j)) {
					list.remove(j);
					j--;
				}
				j++;
			}

			i++;
		}

		src = list.toArray(new Integer[list.size()]);
		System.out.println("\n之后的数组");
		for (Integer k : src) {
			System.out.print(k + ",");
		}
	}
}

执行例如以下:

之前的数组

4,2,4,6,1,2,4,7,8,

之后的数组

4,2,6,1,7,8,

时间: 2024-10-28 20:16:51

Java数组去掉反复的方法集的相关文章

Java数组去掉重复的方法集

经常用到,有时候不只是简单的基本类型,那种可以用set集合去重,好多时间用到的是我们自定义的类型,下面举个例子(我这儿就那int举例了): 方法一. 这种类似与选择排序算法,首先我们取i值,然后将i之后的所有重复的去掉.具体实现如下: import java.util.List; import java.util.concurrent.CopyOnWriteArrayList; /** * 创建时间:2014-11-18 下午3:26:35 * * @author zhangtianyou *

Java数组的十大方法

Java数组的十大方法 以下是Java Array的前10种方法.他们是来自stackoverflow的投票最多的问题. 0.声明一个数组 String[] aArray = new String[5]; String[] bArray = {"a","b","c", "d", "e"}; String[] cArray = new String[]{"a","b",

Java数组操作十大方法

0.定义一个Java数组 String[] aArray = new String[5]; String[] bArray = {"a","b","c", "d", "e"}; String[] cArray = new String[]{"a","b","c","d","e"}; 第一种是定义了一个数组,并

java.lang.OutOfMemoryError: Java heap space错误和方法(集、转)

错误的方式来解决溢出下面的堆空间是从网上找: java.lang.OutOfMemoryError: Java heap space =================================================== 使用Java程序从数据库中查询大量的数据时出现异常:java.lang.OutOfMemoryError: Java heap space 在JVM中假设98%的时间是用于GC且可用的 Heap size 不足2%的时候将抛出此异常信息. JVM堆的设置是指ja

Java数组的一些使用方法

数组 用于存储一组同一数据类型数据的容器 数组会对放入其中的数据自动编号,编号是从0开始的---下标 定义格式 数据类型[] 数组名 = new 数据类型[数组的大小];---可以先声明再初始化 int[] arr = new int[5];---定义了一个最多能存储5的整数的数组 arr[3] = 4; arr[3]---通过数组名[下标]的形式来获取数组元素或者给对应的位置赋值 数据类型[] 数组名 = new 数据类型[]{元素1,元素2--}; int[] arr = new int[]

Java 数组复制之clone方法

一.源码 public class Test1 { public static void main(String[] args) { // Student[] arrs = new Student[] { new Student() { id = "22" } }; C# 可以简写法,Java不支持 Student[] arrs = new Student[1]; Student st = new Student(); st.id = 12; st.name = "qwe&q

剑指Offer面试题51(Java版):数组中反复的数字

题目:在一个长度为n的数组里的全部数字都在0到n-1的范围内. 数组中某些数字是反复的,但不知道有几个数字反复了.也不知道每一个数字反复的次数.请找出数组中随意一个反复的数字. 比如假设输入长度为7的数组{2,3,1,0,2,5,3},那么相应的输出是反复的数字2或者3. 解决问题的一个简单的方法是先把输入的数组排序.从排序的数组中找出反复的数字是件easy的事情,仅仅须要从头到尾扫描排序后的数组就能够了.排序一个长度为n的数组须要时间为O(nlogn)时间. 还能够利用哈希表来解决问题.从头到

java 数组的 toString 方法和 equals 方法以及 java.lang.Object 对象的 toString 方法和 equals 方法

1 public class Test { 2 public static void main(String[] args) { 3 int[] a = {1, 2, 4, 6}; 4 int[] b = a; 5 int[] c = {1, 2, 4, 6}; 6 7 //下面这个方法打印的是a数组的引用地址 8 System.out.println(a.toString()); 9 //下面这个方法比较的是两个数组的引用是否相等 10 System.out.println("a.equals

将java中数组转换为ArrayList的方法实例(包括ArrayList转数组)

方法一:使用Arrays.asList()方法 1 2 String[] asset = {"equity", "stocks", "gold", "foreign exchange","fixed income", "futures", "options"}; List<String> assetList = Arrays.asList(asset);