Java List Sub List getSubList(List list, Class type)

Here you can find the source of getSubList(List list, Class type)

Description

Return all the classes in list which are of type.

License

LGPL

Declaration

public static List getSubList(List list, Class type) 

Method Source Code

//package com.java2s;
/*//ww w  .  j av  a2 s.co m
Strandz LGPL - an API that matches the user to the data.
Copyright (C) 2007 Chris Murphy
    
Strandz LGPL is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
    
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Lesser General Public License for more details.
    
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
    
    
The authors can be contacted via www.strandz.org
*/

import java.util.ArrayList;

import java.util.Iterator;
import java.util.List;

public class Main {
    public static final boolean INCLUDE = true;

    /**
     * Return all the classes in list which are of type. The result will include all
     * subclasses of type
     */
    public static List getSubList(List list, Class type) {
        return getSubList(list, type, INCLUDE);
    }

    /**
     * Return all the classes in list which are NOT of type if ofType is set to false.
     * The result will [include/Not include] all subclasses of type.
     */
    public static List getSubList(List list, Class type, boolean ofType) {
        List result = new ArrayList();
        for (Iterator en = list.iterator(); en.hasNext();) {
            Object obj = en.next();
            if (type.isAssignableFrom(obj.getClass())) {
                if (ofType) {
                    result.add(obj);
                }
            } else {
                if (!ofType) {
                    result.add(obj);
                }
            }
        }
        return result;
    }

    public static List getSubList(Object objs[], Class type) {
        return getSubList(objs, type, true);
    }

    public static List getSubList(Object objs[], Class type, boolean ofType) {
        List result = new ArrayList();
        for (int i = 0; i < objs.length; i++) {
            Object obj = objs[i];
            if (type.isAssignableFrom(obj.getClass())) {
                if (ofType) {
                    result.add(obj);
                }
            } else {
                if (!ofType) {
                    result.add(obj);
                }
            }
        }
        return result;
    }
}

Related

  1. getIndexesId(List aList, List aSubList)
  2. getIndicesOfItems(List superList, List sublist)
  3. getRandomSubList(List inputList, double percentage)
  4. getSubList(int offset, int count, List originalList)
  5. getSubList(List entireList, Class cls)
  6. getSubList(List source, int nFrom, int nTo)
  7. getSubList(List allKeys, String part)
  8. getSubList(List list, int from, int maxnum)
  9. getSublist(List list, int i)