Java List Distinct Value getDistinctStrings(String[] list)

Here you can find the source of getDistinctStrings(String[] list)

Description

this method takes out all of the duplicate strings.

License

Open Source License

Declaration

public static String[] getDistinctStrings(String[] list) 

Method Source Code

//package com.java2s;
/*//from  www.j a v  a 2  s.  c o m
 * Copyright: (c) 2002-2006 Mayo Foundation for Medical Education and
 * Research (MFMER).  All rights reserved.  MAYO, MAYO CLINIC, and the
 * triple-shield Mayo logo are trademarks and service marks of MFMER.
 *
 * Except as contained in the copyright notice above, the trade names, 
 * trademarks, service marks, or product names of the copyright holder shall
 * not be used in advertising, promotion or otherwise in connection with
 * this Software without prior written authorization of the copyright holder.
 * 
 * Licensed under the Eclipse Public License, Version 1.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at 
 * 
 *       http://www.eclipse.org/legal/epl-v10.html
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

import java.util.*;

public class Main {
    /** this method takes out all of the duplicate strings.  This method
    is case sensitive.
    */
    public static String[] getDistinctStrings(String[] list) {
        ArrayList distincts = new ArrayList(list.length);
        for (int i = 0; i < list.length; i++) {
            if (!distincts.contains(list[i])) {
                distincts.add(list[i]);
            }
        }
        return toArray(distincts);
    }

    /** determines whether a String is in the String array
       The code is very simplistic.
       <pre>
      public static boolean contains(String string, String[] array)
      {   for(int i=0; i<array.length; i++)
    if(string.equals(array[i]))
       return true;
     return false;
      }
       </pre>
    */

    public static boolean contains(String string, String[] array) {
        if (array == null)
            return false;
        for (int i = 0; i < array.length; i++)
            if (string.equals(array[i]))
                return true;
        return false;
    }

    public static String[] toArray(ArrayList arrayList) {
        return arrayListToStringArray(arrayList);
    }

    /**
     * This method is here because my first implementation used the brute force approach.
     * Then I realized that you could accomplish this in one line of code - and it is
     * more efficient because it uses System.arraycopy().
     */
    public static String[] arrayListToStringArray(ArrayList arrayList) {
        if (arrayList == null)
            return new String[0];
        return (String[]) (arrayList.toArray(new String[arrayList.size()]));
    }
}

Related

  1. constructDistinctClause(StringBuffer selectClause, List attributes, boolean isCountOnly)
  2. distinct(List list)
  3. distinct(List list)
  4. distinct(List vector)
  5. distinctList(List sourceList)
  6. sortedDistinct(List seq)