声明了一个list
里面封装了很多数据.
想在想查看这个list有多少条数据.
还向知道这个list中有多少个指定类的对象,封装了多少个在这个list中

解决方案 »

  1.   

    List<Object> list = new ArrayList<Object>();
    list.add(xxx);for (int i = 0; i < list.size(); i++) {
    if (list.get(i) instanceof xxx) {
    //多少数据是list.size()
    //对象的话就instanceof
    }
    }
      

  2.   

    //总数量
    int dataCount = listTest.size();
    //指定类实例的数量
    int objectCount = 0;
    for(int i=0;i<listTest.size();i++){
    if(listTest.get(i) instanceof 指定雷鸣){
    objectCount++;
    }
    }
      

  3.   

    封装?是保存数据吧?
    for example
    int recordCount = list.size();
    int objCount = 0;
    for (int i=0; i<list.size(); i++) {
        Object obj = list.get(i);
        if (obj != 0 && obj.getClass() == SomeClass.class) { //如果子类也需要计算的话,用 obj instanceOf SomeClass
            objCount;
        }
    }
    System.out.printf("有%d条记录, 有%d个指定类对象\n", recordCount, objCount);
      

  4.   

    List看看有没有泛型的信息,如果有就很容易了,直接list.size()就可以看到List里面有多少数据
    如果没有泛型信息,那么就得遍历list然后逐个计数了,利用instanceof判定import java.util.ArrayList;
    import java.util.List;/**
     * Created by IntelliJ IDEA.
     * User: Administrator
     * Date: 2011-9-22
     * Time: 20:50:57
     * To change this template use File | Settings | File Templates.
     */
    public class ListDemo {    public static void main(String[] args){
            List list=new ArrayList();
            list.add("abc");
            list.add("cde");
            list.add("fgh");
            list.add(1);
            list.add(2);
            list.add(4);
            list.add(true);
            list.add(false);        int stringNum=0;
            int booleanNum=0;
            int intNum=0;
            for(Object o:list){
                if(o instanceof String){
                     stringNum++;
                }
                if(o instanceof Boolean){
                     booleanNum++;
                }
                if(o instanceof Integer){
                     intNum++;
                }
            }
            System.out.println("String元素数目"+stringNum);
            System.out.println("boolean元素数目"+booleanNum);
            System.out.println("int元素数目"+intNum);
            System.out.println("总共元素数目"+list.size());
        }
    }
      

  5.   

    多谢各位。其实就是我list里面保存的是不同类型的数据。ls各位说的可以判断出来。