java代码中怎么去重 java 去重

java如何去掉字符串中重复的字符

lz  你好

我们提供的服务有:成都网站建设、做网站、微信公众号开发、网站优化、网站认证、无锡ssl等。为近千家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的无锡网站制作公司

这个就是一个比较简单的算法题 , 你可以自己写

但是用Java语言就不需要了 , Java自带泛型相关的类 , 很有用

其中TreeSet集合能自动识别添加的是否重复 , 重复的将不会添加 , 很方便

以下是实现代码:

import java.util.List;

import java.util.Scanner;

public class DeleteRepeated {

private String str;

private TreeSetString noReapted;//带有String类型的TreeSet泛型

public DeleteRepeated() {

Scanner in = new Scanner(System.in);

System.out.println ("输入一个字符串:");

str = in.nextLine();

noReapted = new TreeSet();

}

//清楚重复的数据

public void removeRepeated(){

for (int i = 0; i  str.length(); i++){

noReapted.add(""+str.charAt(i));

//str.charAt(i)返回的是char型  所以先加一个""空格 , 转换成String型

//TreeSet泛型能保证重复的不加入 , 而且有序

}

str = "";

for(String index:noReapted){

str += index;

}

//输出

System.out.println (str);

}

public static void main(String[] args) {

DeleteRepeated dr = new DeleteRepeated();

dr.removeRepeated();

}

}

运行截图:

希望能帮助你哈

java去重(不重复的去掉,重复的只去掉一次)

import java.util.HashSet;

import java.util.Set;

public class Test1 {

private static final SetString str = new HashSet();

public static void main(String args[]) {

Test1.add("1");

Test1.add("2");

Test1.add("2");

Test1.add("1");

Test1.add("3");

Test1.add("2");

}

public static void add(String toAdd) {

if(!str.add(toAdd)) System.out.println(toAdd);

}

}

java List 如何数据去重

方法一: 通过Iterator 的remove方法

public void testList() {

ListInteger list=new ArrayListInteger();

list.add(1);

list.add(2);

list.add(4);

list.add(1);

list.add(2);

list.add(5);

list.add(1);

ListInteger listTemp= new ArrayListInteger();

IteratorInteger it=list.iterator();

while(it.hasNext()){

int a=it.next();

if(listTemp.contains(a)){

it.remove();

}

else{

listTemp.add(a);

}

}

for(Integer i:list){

System.out.println(i);

}

}

lhkzyz

java List 去重(两种方式)

博客分类:

java

java

方法一: 通过Iterator 的remove方法

Java代码

public void testList() {

ListInteger list=new ArrayListInteger();

list.add(1);

list.add(2);

list.add(4);

list.add(1);

list.add(2);

list.add(5);

list.add(1);

ListInteger listTemp= new ArrayListInteger();

IteratorInteger it=list.iterator();

while(it.hasNext()){

int a=it.next();

if(listTemp.contains(a)){

it.remove();

}

else{

listTemp.add(a);

}

}

for(Integer i:list){

System.out.println(i);

}

}

public void testList() {

ListInteger list=new ArrayListInteger();

list.add(1);

list.add(2);

list.add(4);

list.add(1);

list.add(2);

list.add(5);

list.add(1);

ListInteger listTemp= new ArrayListInteger();

IteratorInteger it=list.iterator();

while(it.hasNext()){

int a=it.next();

if(listTemp.contains(a)){

it.remove();

}

else{

listTemp.add(a);

}

}

for(Integer i:list){

System.out.println(i);

}

}

方法二:直接将结果赋值给另一个List

public void testList2() {

ListInteger list=new ArrayListInteger();

list.add(1);

list.add(2);

list.add(4);

list.add(1);

list.add(2);

list.add(5);

list.add(1);

ListInteger tempList= new ArrayListInteger();

for(Integer i:list){

if(!tempList.contains(i)){

tempList.add(i);

}

}

for(Integer i:tempList){

System.out.println(i);

}

}

java中怎么找出数组中重复的数并去除?

java中找出数组中重复的数并去除的代码如下:

public static void testA() { 

String [] str = {"Java", "C++", "Php", "C#", "Python", "C++", "Java"}; 

for (String elementA:str ) { 

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

ListString list = new ArrayListString(); 

for (int i=0; istr.length; i++) { 

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

list.add(str[i]); 

System.out.println(); 

String[] newStr = list.toArray(new String[1]); //返回一个包含所有对象的指定类型的数组  

for (String elementB:newStr ) { 

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

System.out.println(); 

}

所谓数组,是无序的元素序列。 若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。用于区分数组的各个元素的数字编号称为下标。数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按无序的形式组织起来的一种形式。 这些无序排列的同类数据元素的集合称为数组。

举例:

int a[10]; 说明整型数组a,有10个元素。

float b[10],c[20]; 说明实型数组b,有10个元素,实型数组c,有20个元素。

char ch[20]; 说明字符数组ch,有20个元素。

数组中的所有元素都具有相同类型(这一点和结构或类中的字段不同,它们可以是不同类型)。数组中的元素存储在一个连续性的内存块中,并通过索引来访问(这一点也和结构和类中的字段不同,它们通过名称来访问)。

java list如何去重

ListString list = new ArrayList();

/*list.add("abc");

list.add("abc");

list.add("def");

list.add("bcd");*/

SetString set = new LinkedHashSet();//这种方式保证去重后的元素相对位置不变

//SetString set = new HashSet();//这种方式去重后元素的位置很有可能变化了

set.addAll(list);

list.clear();

list.addAll(set);

for(String s : list){

System.out.println(s);

}

整个思路就是利用set中的元素是不重复的,来达到去重的目的

Java中如何去除List中的重复的值

你要去除的值是基本数据类型还是对象呢?

如果不想存重复数据何不用Set呢。。。

其实吧。。在知道上提问不如在网页上查。。这个是我查到的第一个。。网页里的内容,他一共使用了3种方式

最近项目中需要对list集合中的重复值进行处理,大部分是采用两种方法,一种是用遍历list集合判断后赋给另一个list集合,一种是用赋给set集合再返回给list集合。

但是赋给set集合后,由于set集合是无序的,原先的顺序就打乱了。所以我又想着能不能用set的特性进行去重又不打乱顺序呢?

试了一下,也是可以的,几种方法在不同情况下都有各自的优势。现在将代码写出来,比较一下。

//set集合去重,不打乱顺序

public static void main(String[] args){

ListString list = new ArrayListString();

list.add("aaa");

list.add("bbb");

list.add("aaa");

list.add("aba");

list.add("aaa");

Set set = new HashSet();

List newList = new ArrayList();

for (String cd:list) {

if(set.add(cd)){

newList.add(cd);

}

}

System.out.println( "去重后的集合: " + newList);

}123456789101112131415161718

//遍历后判断赋给另一个list集合

public static void main(String[] args){

ListString list = new ArrayListString();

list.add("aaa");

list.add("bbb");

list.add("aaa");

list.add("aba");

list.add("aaa");

ListString newList = new ArrayListString();

for (String cd:list) {

if(!newList.contains(cd)){

newList.add(cd);

}

}

System.out.println( "去重后的集合: " + newList);

}1234567891011121314151617

//set去重

public static void main(String[] args){

ListString list = new ArrayListString();

list.add("aaa");

list.add("bbb");

list.add("aaa");

list.add("aba");

list.add("aaa");

Set set = new HashSet();

List newList = new ArrayList();

set.addAll(list);

newList.addAll(set);

System.out.println( "去重后的集合: " + newList);

}12345678910111213141516

//set去重(缩减为一行)

public static void main(String[] args){

ListString list = new ArrayListString();

list.add("aaa");

list.add("bbb");

list.add("aaa");

list.add("aba");

list.add("aaa");

List newList = new ArrayList(new HashSet(list));

System.out.println( "去重后的集合: " + newList);

}12345678910111213

hashset不进行排序,还有一种方法是用treeset,去重并且按照自然顺序排列,将hashset改为treeset就可以了。(原本的顺序是改变的,只是按照字母表顺序排列而已)

//去重并且按照自然顺序排列

List newList = new ArrayList(new TreeSet(list));


网站栏目:java代码中怎么去重 java 去重
网站地址:http://myzitong.com/article/docdggi.html