经经常使用到,有时候不仅仅是简单的基本类型,那种能够用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,

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

  1. Java数组的十大方法

    Java数组的十大方法 以下是Java Array的前10种方法.他们是来自stackoverflow的投票最多的问题. 0.声明一个数组 String[] aArray = new String[5 ...

  2. Java数组操作十大方法 (转)

    定义一个Java数组 String[] aArray = new String[5]; String[] bArray = {"a","b","c&q ...

  3. (PASS)JAVA数组去重 三种方法 (不用集合)

    第一种方法(只学到数组的看): 定义一个新的数组长度和旧数组的长度一样,存储除去重复数据的旧数组的数据和0, package demo01; import java.sql.Array; import ...

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

    错误的方式来解决溢出下面的堆空间是从网上找: java.lang.OutOfMemoryError: Java heap space ================================= ...

  5. Java数组的一些使用方法及堆栈存储

    数组 用于存储一组同一数据类型数据的容器 数组会对放入其中的数据自动编号,编号是从0开始的---下标 定义格式 数据类型[] 数组名 = new 数据类型[数组的大小];---可以先声明再初始化 in ...

  6. java数组实现红包的方法

    package Hongbao; import java.text.DecimalFormat; import java.util.Scanner; public class Hongbao { pu ...

  7. Java 数组的 12 个方法

    1.  声明一个数组 String[] aArray = new String[5]; String[] bArray = {"a","b","c&q ...

  8. Java 数组复制之clone方法

    一.源码 public class Test1 { public static void main(String[] args) { // Student[] arrs = new Student[] ...

  9. java数组复制的简单方法(一)

    总结:主要是用a数组的长度等于b数组,然后a数组赋值给b数组,我不能想到这个办法,我还是不理解数组中length属性的含义 这里数组并没有正真复制过来,而是一个引用 package com.a; // ...

随机推荐

  1. 【bzoj4668】冷战 并查集按秩合并+朴素LCA

    题目描述 1946 年 3 月 5 日,英国前首相温斯顿·丘吉尔在美国富尔顿发表“铁幕演说”,正式拉开了冷战序幕. 美国和苏联同为世界上的“超级大国”,为了争夺世界霸权,两国及其盟国展开了数十年的斗争 ...

  2. hihoCoder #1809 : 本题数据范围五千

    Analysis (一) 猜想:答案跟 $q_1, q_2, q_3$ 无关:考虑排列 $q$ 是 $1, 2, 3$ 的情况,此时符合要求的排列 $p$ 实际上满足: 对于任意 $i < j ...

  3. wewe

    <#assign base=rc.contextPath /> <#import "spring.ftl" as s /> <!DOCTYPE htm ...

  4. iOS 代理为啥要用weak修饰?

    在开发中我们经常使用代理,或自己写个代理,而代理属性都用weak(assign)修饰,看过有些开发者用strong(retain),但并没发现有何不妥,也不清楚weak(assign)与strong( ...

  5. linux之stat

    stat指令:文件/文件系统的详细信息显示: 使用格式:stat 文件名 stat命令主要用于显示文件或文件系统的详细信息,该命令的语法格式如下: -f 不显示文件本身的信息,显示文件所在文件系统的信 ...

  6. HDU 4328 Cut the cake

    Cut the cake Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Tota ...

  7. 【HugeChm】HugeChm制作chm帮助文档

    1.下载软件:HugeChm.exe 2.开始打包:  3.选择开始打包即可

  8. hdu 6218 Bridge 线段树 set

    题目链接 题意 给一个\(2\)x\(n\)的矩阵,每个格子看成一个点,每个格子与相邻的格子间有边.现进行一些加边与删边操作,问每次操作后图中有多少条割边. 思路 参考 https://www.cnb ...

  9. android中Adapter适配器的讲解

    Adapter(适配器的讲解) 适配器就我自己来看,我觉得这是一个非常重要的知识点,Adapter是用来帮助填出数据的中间桥梁,简单点说吧:将各种数据以合适的形式显示在View中给用户看.Adapte ...

  10. 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---11

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下: