我有这么一个数据表..
用了hibernate的Query对象的q.list();取出数据..但是我想格式化一些数据。。
比如 priTagid 那一列的数据。
把0 改成 否
把1 改成 是然后再把格式化好的所有数据存到另一个容器里面去。。请问我该怎么做?
该用类还是用容器??请问如果用容器,该用什么容器好一些?

解决方案 »

  1.   

    用范型list<string> 试一试
      

  2.   

    请问,我用list该怎么做。。
    list只有add方法...
    我是想把那个数据表的所有数据+已经格式化好的数据一起放到另一个容器里面去,不只是把一列数据。。
      

  3.   

    list.add是存放你实体对象的,不是放一列
      

  4.   

    用map和list的组合试试。map中包括articleId,catid,userid,priTagid,title,message这几个以列名为准的Key,
    value就是 list    ,list , list,list   ,list,list。在像priTagid对应的value存放的时候做一个处理,把1换成Boolean.TRUE,0变成Boolean.FALSE。
      

  5.   


    HashMap<String, List<String>> map=new HashMap<String, List<String>>();


    public void initList()
    {
    List<String> list_1=new ArrayList<String>();
    list_1.add("0");
    list_1.add("0");
    list_1.add("1");
    map.put("list_1", list_1);
    List<String> list_2=new ArrayList<String>();
    list_2.add("0");
    list_2.add("0");
    list_2.add("1");
    map.put("list_2", list_2);
    changeEx();
    }

    public void changeEx()
    {
    for (List<String> list  : map.values()) {
    for(int x=0;x<list.size();x++)
    {
    if(list.get(x)=="0")
    list.set(x, "没有考试");
    else
    list.set(x, "有考试");
    }
    }
    sysInfor();
    }
      

  6.   

    List + Properties.
    Properties用于存放记录的各个属性,一条记录就是一个Properties对象。List是存放Properties的容器。
     String getProperty(String key, String defaultValue) 
              Searches for the property with the specified key in this property list.  Object setProperty(String key, String value) 
              Calls the Hashtable method put. 
    详情请查看java docs~
      

  7.   

    谢谢各位的回答,可是,我是这样取出数据的。。这个循环里有XX条数据
    请问用什么方法能最方便把它封装到一个容器里??List all = query.list()
    for(Iterator iter = all.iterator(); iter.hasNext();) {
    Article art = (Article)iter.next();
    // 之后取值用;
    // art.getTitle();
    // art.getCatid();
    // art.getMessage();
    格式化用if(xx.getXX == 0){
      art.setXX("否");
    }else{
      art.setXX("是");
    }然后用什么方法能把它存到另一个容器??
    我要存的是 Article对象,不是 String...
    }
      

  8.   


    如果要这样的话,直接把Article对象存在list中就行了啊。List artList = new ArrayList();
    List all = query.list() 
    for(Iterator iter = all.iterator(); iter.hasNext();) { 
    Article art = (Article)iter.next(); 
    // 之后取值用; 
    // art.getTitle(); 
    // art.getCatid(); 
    // art.getMessage(); 
    if(xx.getXX == 0){ 
      art.setXX("否"); 
    }else{ 
      art.setXX("是"); 

    artList.add(art);
    }
      

  9.   

    少说了一个方法。
     String getProperty(String key) 
              //Searches for the property with the specified key in this property list. 
    比如说你存放第一条记录。Properties prop = new Properties();
    prop.setProperty("articalid", "" + 1);
    prop.setProperty("catid", "" + 2);
    ... // 依次插入属性
    prop.setProperty("message", "NULL");
    //这样就存放了一条记录,然后把它放入list就可以了,取的时候:
    // 假设在一个循环里
    Properties prop = list.get(i);
    String articalid = prop.getProperty("articalid");
    ... // 依次获得属性
      

  10.   

    Properties prop = new Properties();
    prop.setProperty("articalid", "" + 1);
    prop.setProperty("catid", "" + 2);
    ... // 依次插入属性
    prop.setProperty("message", "NULL");
    //这样就存放了一条记录,然后把它放入list就可以了,取的时候:
    // 假设在一个循环里
    Properties prop = list.get(i);
    String articalid = prop.getProperty("articalid");
    ... // 依次获得属性
      

  11.   

    用Map接口中的常用类HashMap实现吧.
    它的主要功能是用key-->value 键值对来解决..
      

  12.   

    如果是其它地方用的话, 将改完的都放在一个list里不可以吗?