//第一种方式:最开始想到的是利用Set集合的不可重复性进行元素过滤

public static Object[] oneClear(Object[] arr){

Set set = new HashSet();

for(int i=0;i

set.add(arr[i]);

}

return set.toArray();

}

//第二种方式:要想保持原数组的顺序就使用有顺序、不重复特点的链表的哈希集合

public static Object[] twoClear(Object[] arr){

LinkedHashSet temp = new LinkedHashSet<>();

for(int i=0;i

temp.add(arr[i]);

}

return temp.toArray();

}

//第三种方式:创建一个list集合,然后遍历数组将元素放入集合,再用contains()方法判断一个集合中是否已存在该元素即可

public static Object[] threeClear(Object[] arr){

List list = new ArrayList();

for(int i=0;i

if(!list.contains(arr[i])){

list.add(arr[i]);

}

}

return list.toArray();

}

//第四种方式:两层循环遍历原数组,然后逐个判断是否和之后的元素重复,同时设立一个标记,用来分辨是否重复,根据标记将不重复的元素存入新数组

public static Object[] fourClear(Object[] arr){int t=0;

//临时数组

Object[] xinArr=new Object[arr.length];

for(int i=0;i

//声明标记,是否重复

boolean isRepeat = true;

for(int j=i+1;j

//如果有重复元素,将标记置为false

if(arr[i]==arr[j]){

isRepeat = false;

break;

}

}

//标记为true表示没有重复元素

if(isRepeat){

xinArr[t] = arr[i];

t++;

}

}

//去重后数组

Object[] newArr = new Object[t];

System.arraycopy(xinArr, 0, newArr, 0, t);

return newArr;

}

public static void main(String[] args) {

Object[] arrs={1,2,5,2,45,6,23,6,3,4,3,6,5,1};

System.out.println("one:");

printArray(oneClear(arrs));

System.out.println("two:");

printArray(twoClear(arrs));

System.out.println("three:");

printArray(threeClear(arrs));

System.out.println("four:");

printArray(fourClear(arrs));

}

public static void printArray(Object[] arr){

for(Object object:arr){

System.out.print(object+" ");

}

System.out.println("");

结果:

java数组最简单的去重方法_Java数组去重的方法相关推荐

  1. java tostring方法_Java虚拟机如执行方法调用的(二)?

    虚方法调用 Java里所有非私有实例方法调用都会被编译成invokevirtual指令. 接口方法调用都会被编译成invokeinterface指令.这两种指令都属于Java虚方法的调用. 在大多数情 ...

  2. java一般方法有哪些方法有哪些方法_Java代码优化有哪些方法?

    Java代码优化是Java编程开发很重要的一个步骤,Java代码优化要注重细节优化,一个两个的细节的优化,产生的效果不大,但是如果处处都能注意代码优化,对代码减少体积.提高代码运行效率是有巨大帮助的, ...

  3. java工厂方法_Java设计模式之工厂方法模式

    2.工厂方法模式 <设计模式之禅>中用神话故事女娲造人来比概述工厂方法模式. 女娲采集黄土捏成人的形状,然后放到八卦炉中烧制,最后放置到大地上生长,工艺过程是没有错的,但是意外随时都会发生 ...

  4. 反射java调用方法_java 使用反射调用方法

    每个Method的对象对应一个具体的底层方法.获得Method对象后,程序可以使用Method里面的invoke方法来执行该底层方法. Object invoke(Object obj,Object ...

  5. java是最简单的语言吗_Java不是最简单的编程语言,可为什么全世界都在用?

    Java是不是一门简单易学的.易上手的编程语言? 作为一个超过10年以上工作经验的Java开发者,我觉得应该可以来回答一下. 1 首先说结论:Java绝对不是最容易学或者最容易上手的语言. 我们稍微观 ...

  6. java 同类调用方法_JAVA中同类中方法的调用问题?

    1.为什么可以直接new+构造方法,来创建对象.而不用创建实例引用呢,像常见的这种:Car car1=new Car;我记得看过有说java中没有被引用的对象将被GC处理.那这个算不算. 你创建了一个 ...

  7. java 反射调用set方法_java反射调用set方法时如果让参数做自动类型转换

    这段时间学习java的反射机制想实现一个功能:遍历一个Map,然后利用反射机制调用BO的set方法,完成BO属性的自动注入.这样设计的初衷是解决Excel数据导入问题中的Map数据填充BO这一过程. ...

  8. java 定时执行方法_Java定时执行任务 方法总结

    JAVA技巧(Java定时执行任务的实现方法)2009年02月07日 星期六 10:36定时执行任务的三种方法: 1)java.util.Timer. 2)ServletContextListener ...

  9. 简单的java图形_简单图形的输出_Java语言程

    简单图形的输出_Java语言程 3.5.4 简单图形的输出 [例3-26] 编程显示以下图形(共N行,N由键盘输入). 程序运行结果:略. 分析与思考:(1)设N=5 第1行 4个空格=5-1 1个& ...

最新文章

  1. 有了它,AI甚至可以让你知道对方是否真的爱你?
  2. 一个CV算法工程师在技术方面的反思!
  3. 最新 主流笔记本cpu列表
  4. mysql5.7 only_full_group_by_Mysql5.7及以上版本 ONLY_FULL_GROUP_BY报错的解决方法
  5. docker启动mysql容器后又退出_docker容器刚运行就自动退出了
  6. smart-framework框架学习之DispatcherServlet分发机制
  7. python编辑器是什么_python开发用什么编辑器
  8. Cocos Creator学习のTiledMap
  9. hdu2825(AC 自动机)
  10. EOS Bios Boot Sequence 启动步骤
  11. 英语六级翻译整理【未更新完】
  12. ML机器学习基础的编程技巧:
  13. 《java深度历险》--王森
  14. TypeScript快速上手
  15. Sequence (矩阵快速幂+快速幂+费马小定理)
  16. win7中的无线网卡驱动文件
  17. 渐渐逝去的青春---老男孩
  18. imx6q android nfs normal boot log
  19. 35页危化品安全管理平台解决方案2022版
  20. Android 12.0 锁屏页面禁止下拉状态栏

热门文章

  1. 微信小程序云开发(2)——在页面显示云数据库的数据
  2. 十九、商城 - 运营商登录-Spring Security(7)
  3. (配对问题)有3箱水果,一箱是苹果,一箱是橘子,一箱是两种水果的混装
  4. 36Kr季报图解:营收5553万元同比增12% 净亏3900万
  5. 宏观生态规律如何应用于描述微生物群落的多样性和变化
  6. iOS高薪求职面试题技巧分享
  7. graphql与react的相遇
  8. Android:使用MediaRecorder录制高清视频,TextureView预览
  9. 如何对 SQL 语句进行优化
  10. Android10适配-针对从后台启动 Activity 的限制