
java删除数组中重复元素
java删除数组中重复元素

int[] arr = new int[]{1,2,3,4,23,3,5,1};
ArrayList<Integer> arrList = new ArrayList<Integer>();
for(int i=0; i<arr.length; i++)
{
if(!arrList.contains(arr[i]))
arrList.add(arr[i]);
}
Iterator<Integer> inter = arrList.iterator();
while(inter.hasNext())
System.out.println(inter.next());

package demo;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class Shanchu {
public static void main(String[] args) {
int[] nums = { 5, 6, 6, 6, 8, 8, 7 };
List<Integer> numList = new ArrayList<Integer>();
for (int i : nums)
numList.add(i);
System.out.println(numList);
//做删除
Iterator<Integer> it = numList.iterator();
int temp = -1;
if (it.hasNext())
temp = it.next();
while (it.hasNext()) {
int i = it.next();
if (i == temp) {
it.remove();
} else {
temp = i;
}
}
System.out.println(numList);
}
}

都這麽複雜啊
public static void main(String[] args) {
int[] nums = { 5, 6, 6, 6, 8, 8, 7 };
List<Integer> numList = new ArrayList<Integer>();
for (int i : nums)
numList.add(i);
Set<Integer> numSet = new HashSet<Integer>();
numSet.addAll(numList);
System.out.println(numSet);
}

引用 6 楼 soli11722984 的回复:
都這麽複雜啊
Java code
public static void main(String[] args) {
int[] nums = { 5, 6, 6, 6, 8, 8, 7 };
List<Integer> numList = new ArrayList<Integer>();
for (int i : ……
顶一个

引用 6 楼 soli11722984 的回复:
都這麽複雜啊
Java code
public static void main(String[] args) {
int[] nums = { 5, 6, 6, 6, 8, 8, 7 };
List<Integer> numList = new ArrayList<Integer>();
for (int i : ……
牛人,膜拜下,怎么想到的

引用 6 楼 soli11722984 的回复:
都這麽複雜啊
Java code
public static void main(String[] args) {
int[] nums = { 5, 6, 6, 6, 8, 8, 7 };
List<Integer> numList = new ArrayList<Integer>();
for (int i : nums)
……
先顶一下,但是这样顺序不就乱了么。

引用 6 楼 soli11722984 的回复:
都這麽複雜啊
Java code
public static void main(String[] args) {
int[] nums = { 5, 6, 6, 6, 8, 8, 7 };
List<Integer> numList = new ArrayList<Integer>();
for (int i : nums)
……
这个不错,通过集合转换,用treeset 还可以排序,呵呵

引用 6 楼 soli11722984 的回复:
都這麽複雜啊
Java code
public static void main(String[] args) {
int[] nums = { 5, 6, 6, 6, 8, 8, 7 };
List<Integer> numList = new ArrayList<Integer>();
for (int i : nu……
zzz~~

引用 6 楼 soli11722984 的回复:
都這麽複雜啊
Java code
public static void main(String[] args) {
int[] nums = { 5, 6, 6, 6, 8, 8, 7 };
List<Integer> numList = new ArrayList<Integer>();
for (int i : nu……
我也是这个思路。

不用set也很容易的
public static void main(String[] args) {
String[] s = {"1","10","15","14","111","133","12","13","1","13"};
List<String> l = new ArrayList<String>();
for(String a:s){
if(!l.contains(a)){
l.add(a);
}
}
System.out.println(l);
}

import java.util.*;
class TestSet
{
public static void main(String[] args)
{
Integer[] nums = { 5, 5, 6, 6, 6, 8, 8, 7, 11, 12, 12 };
HashSet hset = new HashSet(Arrays.asList(nums));
Iterator i = hset.iterator();
while(i.hasNext()){
System.out.println(i.next());
}
}
}

Set有一个构造方法 参数就是list
都這麽複雜啊
Java code
public static void main(String[] args) {
int[] nums = { 5, 6, 6, 6, 8, 8, 7 };
List<Integer> numList = new ArrayList<Integer>();
for (int i : ……

//简单的for循环
for(int i=1;i<arr.length;i++){
for(j=0;j<i;j++){
if(arr[i]==arr[j]){
随便干嘛。。
}
}
}

我们项目中的工具类,用来去掉List中空值和相同项的。
public <T> List<T> removeSameItem(List<T> list) {
List<T> difList = new ArrayList<T>();
for(T t : list){
if(t != null && !difList.contains(t)){
difList.add(t);
}
}
return difList;
}

引用 5 楼 jiangxiayang 的回复:
package demo;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class Shanchu {
public static void main(String[] args) {
int[] nums = { 5, 6, 6, 6, 8, 8, ……
再稍微简单点的(不考虑性能的话):
Integer[] nums = { 5, 6, 6, 6, 8, 8, 7 };
Set<Integer> numSet = new LinkedHashSet<Integer>(Arrays.asList(nums));
System.out.println(numSet);

一句话搞定:
System.out.println(new LinkedHashSet<Integer>(Arrays.asList(5, 6, 6, 6, 8, 8, 7)));

int[] nums = { 5, 6, 6, 6, 8, 8, 7 };
HashSet<Integer> set = new HashSet<Integer>();
for (int i : nums) {
set.add(i);
}

public static void main(String[] args) {
String[] s = {“1”,”10”,”15”,”14”,”111”,”133”,”12”,”13”,”1”,”13”};
List<String> l = new ArrayList<String>();
for(String a:s){
if(!l.contains(a)){
l.add(a);
}
}
System.out.println(l);
}

$('#share_btn').click(function(){
$('.popup_cover').stop().show();
$('.sharePopup_box').stop().slideDown();
});
$('.sharePopup_cancel').click(function(){
$('.popup_cover').stop().hide();
$('.sharePopup_box').stop().slideUp();
});
});('.topic-expired').click(function(){ alert("帖子太久远,不提供回复功能"); });
<li><a href="/" class="J_nav"><i class="left_dot">•</i><span>首页</span></a></li>
<li><a href="javascript:;" class="J_nav"><i class="left_dot">•</i><span>我感兴趣的论坛</span><i class="iconfont icon_down"></i><i class="iconfont icon_up"></i></a>
<ul class="sub_nav">
<li>
-
·疑难问题
-
·非技术版
-
·求职面试
-
·职场话题
-
·Web 开发
-
·HTML(CSS)
-
·JavaScript
-
·Apache
-
·Ajax
-
·其他
-
·HTML5
-
·Linux/Unix社区
-
·Oracle
-
·Java
-
·其他数据库开发
-
·职场生涯
-
·MS-SQL Server
<li><a href="javascript:;" class="J_nav"><i class="left_dot">•</i><span>移动开发</span><i class="iconfont icon_down"></i><i class="iconfont icon_up"></i></a>
-
·全部
-
·Windows客户端开发
-
·iOS
-
·移动开发其他问题
-
·英特尔技术
-
·Android
-
·Symbian
-
·非技术区
-
·Qt
-
·英特尔开源软件社区
-
·BlackBerry
-
·移动广告
-
·Swift
-
·微信开发
-
·联通WO+开放平台
-
·微信支付
- •云计算
-
·全部
-
·OpenStack
-
·云安全
-
·Cloud Foundry
-
·OpenAPI
-
·AWS
-
·GAE
-
·服务器
-
·网络
-
·虚拟化
-
·云存储
-
·Spark
-
·Docker
-
·华为云计算
-
·数字化企业云平台论坛
- •企业IT
-
·全部
-
·ERP/CRM
-
·中间件
-
·其他
-
·消息协作
-
·SharePoint
-
·地理信息系统
-
·企业信息化
-
·WebSphere
-
·Atlassian技术
-
·Xamarin技术
-
·Enterprise Architect
-
·JetBrains技术论坛
-
·OpenCV
- •.NET技术
-
·全部
-
·VB.NET
-
·其他语言
-
·.NET技术前瞻
-
·Web Services
-
·ASP.NET
-
·LINQ
-
·图表区
-
·C#
-
·组件/控件开发
-
·VC.NET
-
·非技术区
-
·.NET Framework
-
·分析与设计
- •Java 技术
- •Web 开发
-
·全部
-
·搜索引擎技术
-
·HTML(CSS)
-
·ASP
-
·跨浏览器开发
-
·IIS
-
·Apache
-
·vbScript
-
·JavaScript
-
·应用服务器
-
·XML/XSL
-
·其他
-
·CGI
-
·Ajax
-
·非技术区
-
·ColdFusion
-
·Ruby/Rails
-
·HTML5
- •PHP
- •VC/MFC
- •VB
- •Delphi
- •C++ Builder
- •C/C++
- •其他开发语言
- •MS-SQL Server
- •PowerBuilder
- •Oracle
- •其他数据库开发
- •Linux/Unix社区
-
·全部
-
·专题技术讨论区
-
·内核源代码研究区
-
·IBM AIX
-
·UNIX文化
-
·系统维护与使用区
-
·Solaris
-
·应用程序开发区
-
·实用资料发布区
-
·驱动程序开发区
-
·CPU和硬件区
-
·非技术区
-
·Power Linux
- •Windows专区
- •硬件/嵌入开发
- •游戏开发
- •网络与通信
- •扩充话题
- •挨踢职涯
-
- •华为开发者社区
-
·全部
-
·云计算
-
·企业通信
-
·BYOD
-
·Digital inCloud
-
·CaaS
-
·SDN
-
·企业网络开发
-
·敏捷网络
-
·eLTE
-
·IOT
-
·移动开放工场
-
·OpenLife智慧家庭
-
·FusionInsight Universe
-
·HUAWEI Code Craft
-
·FusionInsight HD
-
·华为开发者大赛
-
·IES
-
·软件开发云
- •软件工程/管理
- •专题开发/技术/项目
- •多媒体开发
- •培训认证
- •站务专区
- •GE Predix论坛
-
</ul> </div> </div>
