国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

利用Java Set 去除重復object的方法

2019-11-26 13:13:16
字體:
來源:轉載
供稿:網友

實例如下:

import java.util.ArrayList;import java.util.HashSet;import java.util.List;import java.util.Set;/** * 編寫者:CP * <br />類描述:set集合針對String 類型和8大基礎數據類型 過濾掉重復數據,如果存放的是其他類型對象,則需要重寫hashCode方法和equals方法,當equals 比較相等時,則會去比較hashCode值 hashCode的值 如果一致的話,則不會存進set */public class SetDemo {		public static void main(String[] args) {		Set<String> nameSet = new HashSet<String>();		nameSet.add("張三");		nameSet.add("李四");		nameSet.add("王五");		nameSet.add("張三");				// 輸出結果 張三	李四	王五		for(String name : nameSet){			System.out.print(name + "/t");		}		// List集合去除重復基礎數據		List<String> nameList = new ArrayList<String>();		nameList.add("張三");		nameList.add("李四");		nameList.add("王五");		nameList.add("趙六");		nameSet.addAll(nameList);				// 輸出結果 張三	李四	王五	趙六		for(String name : nameSet){			System.out.print(name + "/t");		}				// 去除編號和用戶名一樣的 對象,需要重寫 equals 方法 和 hashCode方法		User admin = new User(1, "admin");		User user = new User(2, "user");		User user1 = new User(2, "user");		User admin1 = new User(3, "admin");						Set<User> userSet = new HashSet<User>();		userSet.add(admin);		userSet.add(user);		userSet.add(admin1);		userSet.add(user1);		// 輸入結果 admin1	admin3	user2		for(User u : userSet){			System.out.print(u.username + u.id + "/t");		}				System.out.println(user.equals(null));	}}class User{		protected Integer id;		protected String username;		public User(Integer id, String username){		this.id = id;		this.username = username;	}	/**	 * 如果對象類型是User 的話 則返回true 去比較hashCode值	 */	@Override	public boolean equals(Object obj) {		if(obj == null) return false;		if(this == obj) return true;		if(obj instanceof User){ 			User user =(User)obj;//			if(user.id = this.id) return true; // 只比較id			// 比較id和username 一致時才返回true 之后再去比較 hashCode			if(user.id == this.id && user.username.equals(this.username)) return true;			}		return false;	}	/**	 * 重寫hashcode 方法,返回的hashCode 不一樣才認定為不同的對象	 */	@Override	public int hashCode() {//		return id.hashCode(); // 只比較id,id一樣就不添加進集合		return id.hashCode() * username.hashCode();	}	}

以上這篇利用Java Set 去除重復object的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 镇康县| 佛冈县| 神农架林区| 泉州市| 攀枝花市| 无极县| 英吉沙县| 亚东县| 拜城县| 易门县| 清苑县| 河源市| 高尔夫| 东平县| 临海市| 高平市| 江陵县| 阿合奇县| 竹山县| 涿鹿县| 丰都县| 新密市| 黄大仙区| 朔州市| 永德县| 呼图壁县| 万年县| 沂源县| 昌吉市| 福建省| 祁东县| 汤阴县| 肃南| 太保市| 庆云县| 民勤县| 陈巴尔虎旗| 含山县| 长汀县| 杂多县| 奉新县|