欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

java集合去重代碼 字符串去重 java

使用java集合去掉數(shù)組中重復(fù)的值并打印出來,數(shù)組:{2,5,4,7,8,9,6,4}

JAVA里面可以利用Set Map的唯一性來排除重復(fù)數(shù)值,具體代碼如下:

成都創(chuàng)新互聯(lián)公司是一家專業(yè)提供龍口企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站設(shè)計、網(wǎng)站制作、HTML5建站、小程序制作等業(yè)務(wù)。10年已為龍口眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進(jìn)行中。

import java.util.HashMap;

import java.util.Iterator;

import java.util.Map;

import java.util.Set;

import java.util.TreeSet;

public class Test {

public static void main(String[] args) {

int[] ary = {2,5,4,7,8,9,6,4};

//通過Set集合的唯一性來做到去除重復(fù)

SetInteger set = new TreeSetInteger();

//利用map的KEY的唯一性來去除重復(fù)

MapInteger, Object map = new HashMapInteger, Object();

//利用集合特性去除重復(fù)值

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

set.add(new Integer(i));

map.put(new Integer(i), null);

}

System.out.println("利用Set去除結(jié)果:");

for (Iterator iterator = set.iterator(); iterator.hasNext();) {

Integer integer = (Integer) iterator.next();

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

}

System.out.println("\n利用Map去除結(jié)果:");

for(Iterator ite = map.keySet().iterator(); ite.hasNext();){

System.out.print(ite.next() + " ");

}

}

}

---------------程序結(jié)果

利用Set去除結(jié)果:

0 1 2 3 4 5 6 7

利用Map去除結(jié)果:

0 1 2 3 4 5 6 7

java對List去重并排序,如何快速地去掉兩個

Java8開始,對數(shù)值,集合等提供了Stream流操作,可以方便的對集合進(jìn)行操作.

比如 篩選,過濾,去重, 映射, 排序,規(guī)約,收集 等操作

簡單的參考代碼如下

import?java.util.Arrays;

import?java.util.List;

import?java.util.stream.Collectors;

//?使用Java8?的Stream特性?和?Java8的Lambda?語句

public?class?Demo?{

public?static?void?main(String[]?args)?{

//?需求:?集合去重,排序,得到一個新集合里面的元素是之前元素的平方

ListInteger?list=Arrays.asList(5,2,2,1,3,4);

ListInteger?listResult?= list

.stream()?//?得到流

.distinct()?//?去重?5,2,1,3,4

.sorted()?//?自然排序?,?也可以自定義排序規(guī)則1,2,3,4,5

.map(x-x*x)?//?每個元素求平方1,4,9,16,25

.collect(Collectors.toList());?//收集并返回

System.out.println(listResult);//1,4,9,16,25

}

}

用Java中的ArrayList實(shí)現(xiàn):去除集合中字符串的重復(fù)值(字符串的內(nèi)容相同)

public class Test {

public static void main(String[] args) {

ListString list = new ArrayListString();

list.add("測試1");

list.add("測試2");

list.add("測試3");

list.add("測試4");

list.add("測試4");

list.add("測試2");

list.add("測試5");

System.out.println("沒有去重前的數(shù)據(jù)為"+list.toString());

for(int i = 0;ilist.size()-1;i++){

for(int j = list.size()-1;ji;j--) {

if(list.get(j).equals(list.get(i))){

list.remove(j);

}

}

}

System.out.println("去重后的數(shù)據(jù)為"+list.toString());

}

}

希望能幫到你!

Java中如何去除List中的重復(fù)的值

你要去除的值是基本數(shù)據(jù)類型還是對象呢?

如果不想存重復(fù)數(shù)據(jù)何不用Set呢。。。

其實(shí)吧。。在知道上提問不如在網(wǎng)頁上查。。這個是我查到的第一個。。網(wǎng)頁里的內(nèi)容,他一共使用了3種方式

最近項(xiàng)目中需要對list集合中的重復(fù)值進(jìn)行處理,大部分是采用兩種方法,一種是用遍歷list集合判斷后賦給另一個list集合,一種是用賦給set集合再返回給list集合。

但是賦給set集合后,由于set集合是無序的,原先的順序就打亂了。所以我又想著能不能用set的特性進(jìn)行去重又不打亂順序呢?

試了一下,也是可以的,幾種方法在不同情況下都有各自的優(yōu)勢。現(xiàn)在將代碼寫出來,比較一下。

//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不進(jìn)行排序,還有一種方法是用treeset,去重并且按照自然順序排列,將hashset改為treeset就可以了。(原本的順序是改變的,只是按照字母表順序排列而已)

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

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

JAVA如何去除數(shù)組中每個元素中重復(fù)的內(nèi)容

java數(shù)組中去掉重復(fù)數(shù)據(jù)可以使用set集合,set本身內(nèi)部是不保存重復(fù)的數(shù)據(jù)的,如下代碼:

import?java.util.Arrays;import?java.util.Set;import?java.util.TreeSet;?public?class?ceshi?{????public?static?void?main(String[]?args)?{?????????int[]?testArr?=?{?5,?5,?1,?2,?3,?6,?-7,?8,?6,?45,?5?};//新建一個int類型數(shù)組????????System.out.println(Arrays.toString(testArr));????????SetInteger?set?=?new?TreeSetInteger();//新建一個set集合????????for?(int?i?:?testArr)?{????????????set.add(i);????????}????????Integer[]?arr2?=?set.toArray(new?Integer[0]);????????//?數(shù)組的包裝類型不能轉(zhuǎn)?只能自己轉(zhuǎn);吧Integer轉(zhuǎn)為為int數(shù)組;????????int[]?result?=?new?int[arr2.length];????????for?(int?i?=?0;?i??result.length;?i++)?{????????????result[i]?=?arr2[i];????????}????????System.out.println(Arrays.toString(arr2));????}}

運(yùn)行結(jié)果如下:

使用java集合去除一組數(shù)字中的重復(fù)項(xiàng),并打印輸出

public?class?RemoveDuplicate?{

private?static?int[]?array?=?{1,2,3,3,3,4,5,6,6,7};

public?static?void?remove(){

SetInteger?set?=?new?HashSet();

for?(int?i?:?array)?{

if(!set.add(i)){

System.out.println(i);

}

}

System.out.println(set.toString());

}

public?static?void?main(String[]?args)?{

RemoveDuplicate.remove();

}

}

以上是java代碼。可以利用set 的元素的唯一性來完成你的要求。

set.add() 方法 如果添加失敗那么會返回false,也就意味著里面已經(jīng)有了一個同樣的元素。

當(dāng)然這個方法未必是最好的。可以利用一些更巧妙的方法達(dá)成。那樣速度和效率都會更高。

(有部分人不知道為什么我的代碼new?HashSet里面沒有指定類型。那么請參考java1.7新特性)

當(dāng)前標(biāo)題:java集合去重代碼 字符串去重 java
轉(zhuǎn)載注明:http://chinadenli.net/article28/doopejp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊網(wǎng)站建設(shè)商城網(wǎng)站電子商務(wù)網(wǎng)站設(shè)計公司網(wǎng)頁設(shè)計公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營