Here you can find the source of addUniqueId(List
public static <T> List<T> addUniqueId(List<T> aList, T anObj)
//package com.java2s; import java.util.*; public class Main { /**/*ww w. j av a2s . co m*/ * Adds an object to the given list if identical object is missing (creates list if missing). */ public static <T> List<T> addUniqueId(List<T> aList, T anObj) { return containsId(aList, anObj) ? aList : add(aList, anObj); } /** * Returns whether list contains identical given object (accepts null list). */ public static boolean containsId(List aList, Object anObj) { return indexOfId(aList, anObj) >= 0; } /** * Adds an object to the given list and returns list (creates list if missing). */ public static <T> List<T> add(List<T> aList, T anObj) { // If list is null, create list if (aList == null) aList = new Vector(); // Add object aList.add(anObj); // Return list return aList; } /** * Returns index of identical given object in given list. */ public static int indexOfId(List aList, Object anObj) { // Iterate over list objects and return index if identical exists for (int i = 0, iMax = size(aList); i < iMax; i++) if (anObj == aList.get(i)) return i; // Return -1 if identical doesn't exist return -1; } /** * Returns the size of a list (accepts null list). */ public static int size(List aList) { return aList == null ? 0 : aList.size(); } /** * Returns the object at the given index (returns null object for null list or invalid index). */ public static <T> T get(List<T> aList, int anIndex) { return aList == null || anIndex < 0 || anIndex >= aList.size() ? null : aList.get(anIndex); } }