[JAVA]JAVA章1 数组数据去重

一 利用HashSet进行去重

//定义一个数组;有几个重复项
int[] testarray = {1,2,33,4,2,3,44,5,222,3};
//利用HashSet对数组数据去重
Set<Integer> set = new HashSet();
for(int i=0;i<testarray.length;i++)
{
set.add(testarray[i]);
}
//定义新数组
int[] newtestarray = new int[set.size()];
int x=0;
//新数组赋值
for(Integer integer:set)
{
newtestarray[x] = integer;
++x;
}
//打印新数组
System.out.println("利用Set去重如果如下:");

for(int t=0;t<newtestarray.length;t++)
{
System.out.print(newtestarray[t]+" ");
}

}

输出如下:

利用Set去重如果如下:
1 33 2 3 4 5 44 222

从结果可以看出,重复项已经去掉

二 利用TreeSet进行去重

如果在去重过程中还想进行排序,刚可以使用TreeSet;我们来看看效果:

//定义一个数组;有几个重复项
int[] testarray = {1,2,33,4,2,3,44,5,222,3};
//利用TreeSet对数组数据去重
Set<Integer> set = new TreeSet(); //只变化此处
for(int i=0;i<testarray.length;i++)
{
set.add(testarray[i]);
}
//定义新数组
int[] newtestarray = new int[set.size()];
int x=0;
//新数组赋值
for(Integer integer:set)
{
newtestarray[x] = integer;
++x;
}
//打印新数组
System.out.println("利用Set去重如果如下:");

for(int t=0;t<newtestarray.length;t++)
{
System.out.print(newtestarray[t]+" ");
}

}

输出如下:

利用Set去重如果如下:
1 2 3 4 5 33 44 222

从结果可以看出,重复项已经去掉而且进行了排序

原文地址:https://www.cnblogs.com/szss/p/10303679.html

时间: 2024-10-11 07:43:42

[JAVA]JAVA章1 数组数据去重的相关文章

java自学篇之数组1

第四章 数组与方法 若想要存放一连串相关的数据,使用数组是个相当好用的选择.此外,如果某个程序片段经常反复出现,那么将它定义成一个方法可以有效地简化程序代码. 数组是由一组相同类型的变量所组成的数据类型,它们以一个共同的名称表示. 一维数组 一维数组可以存放上千万个数据,并且这些数据的数据类型相同. 一维数组的声明和内存存储 一维数组的声明和内存的分配 数据类型数组名[ ] :         // 声明一维数组 数组名 = new 数据类型[个数] : // 分配内存给数组 数组的数据类型和变

关于Java中多维数组的内存结构分析

基本概念 本文主要针对JVM中关于一维数组和二维数组的内存模型分析.验证.讨论![仅供参考]. 1.概念模型 1)一维数组 int arr[] = new int[3]; 2)二维数组 int[ ][ ] arr = new int[3][ ]; arr[0] = new int[3]; arr[1] = new int[5]; arr[2] = new int[4]; 3)Java中的对象(本章节主要分析和数组相关的内容,关于Java对象的Memory结构会在以后说明!) class A {

Java 第二章 变量 、数据类型和运算符 笔记

Java 第二章 变量 .数据类型和运算符 一.变量:存储数据的一个基本单元. 二.变量的声明和赋值: 1)声明并赋值:数据类型 变量名=值;      例:int  price=1000; 2)声明.赋值分两步:数据类型 变量名;   例: int  price; 变量名=值;              price=1000; 三.数据类型2种: 1)基本数据类型8种: Byte 长度:-128~127(-2的7次方到2的7次方减1) Short   -2的15次方到2的15次方减1 Int

java初步学习之数组

(1)数组的定义 数组是一种数据结构,是一种具有相同类型的数据的集合. (2)语法 在java中定义一个数组有三种方法: ①数据类型[] 数组名称={根据类型初始化}: int[] str1={1,2,3,3,4};这种方法在定义时直接初始化,当然也确定了其空间大小. ②数据类型[] 数组名称=new 数据类型[数组空间大小]; int[] str2=new int[100]; 注:此处必须注明空间大小 ③int[] str3=new []{1,2,3,4,5};这种方法和第一种一样,都是直接进

[Java基础笔记]数组

Java基础笔记 定义数组: int[] numbers = new int[100]; //方法一 double[] num = new double[10]; int[][] a = new int[2][5]; 通过new创建的数组,元素默认值为0(0.0) int[] scores = {5,4,33,12,46}; //方法二 int[][] a = { //位数不足,自动补0 {5,3,2,1,6}, {10,12,14,15}, }; 数组特性:存储的都是同类型数据:长度定义后不可

Android NDK开发篇(五):Java与原生代码通信(数据操作)

尽管说使用NDK能够提高Android程序的运行效率,可是调用起来还是略微有点麻烦.NDK能够直接使用Java的原生数据类型,而引用类型,由于Java的引用类型的实如今NDK被屏蔽了,所以在NDK使用Java的引用类型则要做对应的处理. 一.对引用数据类型的操作 尽管Java的引用类型的实如今NDK被屏蔽了,JNI还是提供了一组API,通过JNIEnv接口指针提供原生方法改动和使用Java的引用类型. 1.字符串操作 JNI把Java的字符串当作引用来处理,在NDK中使用Java的字符串,须要相

java byte【】数组与文件读写(增加新功能)

今天在测试直接写的文章: java byte[]数组与文件读写 时,想调用FileHelper类对字节数组以追加的方式写文件,结果无论怎样竟然数据录入不全,重新看了下文件的追加模式,提供了两种方式: 方式一: 字节数组写入文件(不追加) //将byte数组写入文件 public void createFile(String path, byte[] content) throws IOException { FileOutputStream fos = new FileOutputStream(

iOS—网络实用技术OC篇&amp;网络爬虫-使用java语言抓取网络数据

网络爬虫-使用java语言抓取网络数据 前提:熟悉java语法(能看懂就行) 准备阶段:从网页中获取html代码 实战阶段:将对应的html代码使用java语言解析出来,最后保存到plist文件 上一片文章已经介绍我们可以使用两个方式来抓取网络数据实现网络爬虫,并且大致介绍了一下怎么使用正则表达式去实现数据的抓取 由于笔者曾经学过一段时间java和android相关的技术,今天就讲讲怎么使用java去抓取网络数据,关于Python有机会等笔者好好研究一下再来分享,但其实会一种就可以,除非你的需求

java之方法和数组

方法 1.方法概述 假设有一个游戏程序,程序在运行过程中,要不断的发射炮弹.发射炮弹的动作需要写100行代码,在每次实现发射炮弹的地方我们都需要重复的编写这100行代码,这样程序会变得非常臃肿,可读性也比较差.为了解决代码重复编写的问题,可以把发射炮弹的代码提取出来放在一个{}中,并为这段代码块起个名字,这样在每次发射炮弹的地方通过这个名字来调用发射炮弹的代码就可以了.上述过程中,所提取出来的代码可以被看作是程序中定义一个 方法,程序在需要发射炮弹的地方调用该方法即可. 2.方法的定义及格式 方