日期:2014-05-20 浏览次数:21048 次
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);
------解决方案--------------------
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());
}
}