1. 程式人生 > >去除ArrayList中重複字串元素方式

去除ArrayList中重複字串元素方式

import java.util.ArrayList;
import java.util.Iterator;
@SuppressWarnings({ "rawtypes", "unchecked" })
public class Demo1_ArrayList {

	/**
	 * * 需求:ArrayList去除集合中字串的重複值(字串的內容相同)
		* 思路:建立新集合方式
	 */
	public static void main(String[] args) {
		ArrayList list = new ArrayList();
		list.add("a");
		list.add("a");
		list.add("b");
		list.add("b");
		list.add("c");
		list.add("c");
		list.add("c");
		list.add("c");
		
		ArrayList newList = getSingle(list);
		System.out.println(newList);
	}

	/*
	 * 建立新集合將重複元素去掉
	 * 1,明確返回值型別,返回ArrayList
	 * 2,明確引數列表ArrayList
	 * 
	 * 分析:
	 * 1,建立新集合
	 * 2,根據傳入的集合(老集合)獲取迭代器
	 * 3,遍歷老集合
	 * 4,通過新集合判斷是否包含老集合中的元素,如果包含就不新增,如果不包含就新增
	 */
	public static ArrayList getSingle(ArrayList list) {
		ArrayList newList = new ArrayList<>();	//1,建立新集合
		Iterator it = list.iterator();	//2,根據傳入的集合(老集合)獲取迭代器
		
		while(it.hasNext()) {	//3,遍歷老集合
			Object obj = it.next();	//記錄住每一個元素
			if(!newList.contains(obj)) {//如果新集合中不包含老集合中的元素
				newList.add(obj);//將該元素新增
			}
		}
		
		return newList;
	}
}


import java.util.ArrayList;
import java.util.Iterator;
@SuppressWarnings({ "rawtypes", "unchecked" })
public class Demo2_ArrayList {

	/**
	 * *
		* 需求:ArrayList去除集合中自定義物件元素的重複值(物件的成員變數值相同)
		* 注意事項
		* 重寫equals()方法的
		contains方法判斷是否包含,底層依賴的是equals方法
		remove方法判斷是否刪除,底層依賴的是equals方法
	 */
	public static void main(String[] args) {
		ArrayList list = new ArrayList();//建立集合物件
		list.add(new Person("張三", 23));
		list.add(new Person("張三", 23));
		list.add(new Person("李四", 24));
		list.add(new Person("李四", 24));
		list.add(new Person("李四", 24));
		list.add(new Person("李四", 24));
		
		//ArrayList newList = getSingle(list);//呼叫方法去除重複
		//System.out.println(newList);
		list.remove(new Person("張三", 23));
		System.out.println(list);
	}

	/*
	 * 建立新集合將重複元素去掉
	 * 1,明確返回值型別,返回ArrayList
	 * 2,明確引數列表ArrayList
	 * 
	 * 分析:
	 * 1,建立新集合
	 * 2,根據傳入的集合(老集合)獲取迭代器
	 * 3,遍歷老集合
	 * 4,通過新集合判斷是否包含老集合中的元素,如果包含就不新增,如果不包含就新增
	 */
	public static ArrayList getSingle(ArrayList list) {
		ArrayList newList = new ArrayList<>();	//1,建立新集合
		Iterator it = list.iterator();		//2,根據傳入的集合(老集合)獲取迭代器
		
		while(it.hasNext()) {			//3,遍歷老集合
			Object obj = it.next();	//記錄住每一個元素
			if(!newList.contains(obj)) {	//如果新集合中不包含老集合中的元素
				newList.add(obj);//將該元素新增
			}
		}
		
		return newList;
	}
}


相關推薦

16.01_集合框架(去除ArrayList重複字串元素方式)

###16.01_集合框架(去除ArrayList中重複字串元素方式) A:案例演示 需求:ArrayList去除集合中字串的重複值(字串的內容相同) 思路:建立新集合方式 /** * A:案例演示 * 需求:ArrayLis

去除ArrayList重複字串元素方式

import java.util.ArrayList; import java.util.Iterator; @SuppressWarnings({ "rawtypes", "unchecked"

Java 知識點整理-10.Java集合框架 去除ArrayList重複字串、自定義物件 棧和佇列 泛型 JDK5新特性 asList() toArray(T[] a) ArrayList迴圈巢狀

詳細標題:去除ArrayList中重複字串、自定義物件元素方式 棧和佇列 泛型 JDK5新特性(增強for迴圈 三種迭代(普通for、迭代器、增強for)中的元素能否刪除 靜態匯入 可變引數)Arrays工具類的asList() Collection中toArray(T[] a) 集合巢狀之Arra

c++ 去除陣列重複元素

for(int i=0;i<len;i++) { for(int j=i+1;j<len;j++) { if(x[j]==x[i]) { for(int k=j+1;k

Python 去除列表重複元素

l1 = [’b’,’c’,’d’,’b’,’c’,’a’,’a’]l2 = list(set(l1))print l2 還有一種據說速度更快的,沒測試過兩者的速度差別 l1 = [’b’,’c’,’d’,’b’,’c’,’a’,’a’]l2 = {}.fromkeys(l1).keys()pri

優雅的找出ArrayList重複元素

故意強調了優雅,所以雙迴圈什麼的就別來了...先謝為敬 看到了群裡分享的程式碼,所有自己嘗試了一下,就當是技術積累啊,雖然還有四門期末考,但是還是技術對我的誘惑力更大,請再讓我內心默唸一百遍:考試全部

python如何去除列表重複元素

a = [1, 1, 2, 3, 3]如何去掉列表a中重複的元素,等到新列表為[1, 2, 3]方法一 set函式a = [1, 1, 2, 3, 3] b = set(a) # b = {1, 2, 3} b是集合方法二 遍歷b = [] for i in a:

Python去除list重複元素

可以使用內建的set方法 list1 = ['b','c','d','b','c','a','a'] list2 = list(set(list1)) print list2 速度更快的一種方

JS去除陣列重複元素

var arr =["2017-12", "2017-12", "2017-12", "2018-02", "2018-02", "2018-02", "2018-02", "2018-02", "20

Java將兩個字串重複元素取出來賦給另一個字串

import java.util.Scanner; /** * 現在有兩個使用者輸入的字串,將這兩個字串中重複的元素取出來賦給另一個字串 * @author 萬星明 * @version 1.0

javaSE (三十二)找出字串重複元素並寫入檔案、模擬正版軟體使用次數期限、獲取資料夾下的全部java檔案

1、找出字串中重複的元素並寫入檔案: 問題:鍵入(或者從一個檔案中讀取)一個字串,找出字串中重複的元素並寫入檔案 思路: 鍵入字串 map儲存 寫入檔案 程式碼: package cn.njupt; /* * * 鍵入一串字元,計算每個字元出

python兩個列表升序合併並且去除列表重複元素的兩種方法

程式碼如下  l1 = [1,2,7,12,4,9,5] l2 = [5,1,10,11,2] l3 = l1 + l2 l3.sort() # print(set(l3)) #去除重複元素方法一 l4 = [] #去除重複元素方法二 for x in l3:

iOS去除陣列重複元素的幾種方法

//第一種:利用NSDictionary的allKeys(allValues)方法。 NSArray *array = @[@"2016-10-1",@"2016-10-9",

如何去除List集合重複元素

        // <summary>         /// 去除List集合中的重複元素         /// </summary>         /// <param name="list">要去除重複元素的集合</pa

Js去除陣列重複元素的4種方法

    今天工作遇到此問題,嘗試多個方法不盡人意,故此寫個部落格來總結一下如何在js中去除重複元素。     方法1:                 Array.prototype.method1 = function(){             var arr[

Vector.LinkedList的特有功能 ArrayList去除集合重複值的兩種方法

1.Vector的特有功能 新增功能 public void addElement(Object obj) 獲取功能 public Object elementAt(int index)

去除List重複元素

轉載自:http://blog.csdn.net/mwq384807683/article/details/8088706用Set ,倘若list裡邊的元素不是基本資料型別而是物件,那麼請覆寫Object的boolean equals(Object obj) 和int ha

RF-去除陣列重複元素

1、去除陣列中重複元素 ${Record1} create list 1 1 2 2 ${len} Get Length ${Record1} #len=4 log many ${Recor

兩個字串重複字串的最大連續長度

對比兩個字串中,重複字串的最大連續長度   如:    string m_strA = "lgdglfsdafpganecw";   string m_strB = 

獲取陣列重複元素

第一種,判斷包含基本型別的陣列中的重複元素 /** * (這裡只是判斷基本型別的元素) * @param Array * @return Array */ export const getRepeatElement = (array) => { let result =