我想实现个VC /VB 里 类似list控件那样的功能,用jlist呢 还是jdblist好?如:在list上一行一行的显示数据,并把新得到的数据和已在list上显示的数据比较,当数据相同时,则在此条记录上后,的次数列加 一次 ,若和list上数据全比较后,没有相同的,则新加一行。即
  ID      DATA      TIMES  001      AAAA       1
  002      BBBB       1 当再得到一数据为“AAAA”, 则  001 行的 TIMES列内容 + 1
    ID      DATA      TIMES  001      AAAA       2
  002      BBBB       1 当来的数据是“CCCC”, 则,新加一行
    ID      DATA      TIMES  001      AAAA       2
  002      BBBB       1 
  003      CCCC       1能实现这样的效果么?

解决方案 »

  1.   

    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.Map;
    import java.util.Set;public class TestList {
    public static void main(String[] args) {
    try {
    BufferedReader br = new BufferedReader(new InputStreamReader(
    System.in));
    String line = br.readLine();
    Map stringsMap = new HashMap();
    while (!"".equals(line)) {
    if (stringsMap.containsKey(line)) {
    int times = ((Integer) stringsMap.get(line)).intValue();
    stringsMap.put(line, new Integer(times + 1));
    } else {
    stringsMap.put(line, new Integer(1));
    }
    line = br.readLine();
    }
    Set keys = stringsMap.keySet();
    Iterator it = keys.iterator();
    {
    int i = 1;
    while (it.hasNext()) {
    String key = (String) it.next();
    System.out.println(i++ + " " + key + " "
    + ((Integer) stringsMap.get(key)).intValue());
    }
    }
    } catch (IOException e) {
    e.printStackTrace();
    }
    }
    }
    输入空行停止。
      

  2.   

    用list显示这种形式的样式麻烦  还是用table吧