首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

请教怎么判断一个集合中,某个元素的值的个数

2012-03-05 
请问如何判断一个集合中,某个元素的值的个数比如class www{String a//元素String b//个数}Listwww tes

请问如何判断一个集合中,某个元素的值的个数
比如
class www{
  String a; //元素
  String b; //个数
}


List<www> test= new List<www>();
test.add("a");
test.add("a");
test.add("a");
test.add("b");
test.add("b");
test.add("c");

List<www> rusultTest= new List<www>();


我想得到的rusultTest里的值是{{"a","3"},{"b","2"},{"c","1"}}

帮帮忙 谢谢了

[解决办法]
某个元素的值得个数? list.get(1).length?
[解决办法]
你这写法有问题,编译都过不了,
list加上泛型 了,就不能再add字符串,

看你的意思,最好用map结构
[解决办法]
没有太懂你的意思
要是单存的判断list中的个数的话 那就这个API 就好了Collections.frequency(),他会返回list元素的个数
[解决办法]

Java code
List<String> test= new ArrayList<String>();
[解决办法]
用map就行,为什么要自己弄个www,多怪异啊
Java code
    public static void main(String[] args)    {            List<String> test= new ArrayList<String>();        test.add("a");        test.add("a");        test.add("a");        test.add("b");        test.add("b");        test.add("c");        Map<String,Integer> map=new HashMap<String,Integer>();        for(String str:test)        {            map.put(str, map.get(str)==null?1:map.get(str)+1);        }        System.out.println(map);    }
[解决办法]
for example
Java code
List<String> test= new List<String>();test.add("a");test.add("a");test.add("a");test.add("b");test.add("b");test.add("c");class www{  String a; //元素  String b; //个数  public String toString() {      return String.format("{\"%s\",\"%s\"}", a, b);  }}List<www> rusultTest= new List<www>();for (String s : test) {    boolean found = false;    for (www w : resultTest) {        if (w.a.equals(s)) {            found = true;            w.b = String.valueOf(Integer.valueOf(w.b) + 1);            break;        }    }    if (! found) {        www w = new www();        w.a = s;        w.b = "1";        resultTest.add(w);    }}System.out.println(resultTest);
[解决办法]
public static void main(String[] args) {
String[] para = {"a", "b", "c", "a"};
//
List listl = new ArrayList();
Map<String, Integer> mapm = new HashMap<String, Integer>();

for (int i = 0; i < para.length; i++) {

if (mapm.keySet().isEmpty()) {

mapm.put(para[i], 1);

} else if (mapm.containsKey(para[i])) {

mapm.put(para[i], mapm.get(para[i]) + 1);

} else if (!mapm.containsKey(para[i])) {

mapm.put(para[i], 1);

}
}
listl.add(mapm);
System.out.println(listl);
}

结果:
[{b=1, c=1, a=2}]

不知道是不是楼主所要的

热点排行
Bad Request.