posts - 19, comments - 53, trackbacks - 0, articles - 283
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          關(guān)于list倒序的兩個小方法

          Posted on 2009-05-24 13:45 Gavin.lee 閱讀(6660) 評論(0)  編輯  收藏 所屬分類: java SE & EE

          應(yīng)客戶需要,將開獎期號重新排版,需要將最新開獎放最上面,老大需要我從java這塊來實現(xiàn)。我找了兩個方法實現(xiàn):

          第一個:commReverse
          這個比較簡單,一般都會想到

          第二個:stackReverse
          這個道理也很簡單,利用堆棧原理。對對象進行進出棧操作,形成自然倒序

          package com.yixun.wap;

          import java.util.ArrayList;
          import java.util.List;
          import java.util.Stack;

          import org.apache.log4j.Logger;
          /**
           * 
           * @descripte reverse list
           * 
          @author Gavin.lee
           * @date 2009-5-24 13:41:47
           * 
          @version 1.0
           
          */

          public class ReverseList {
              
          public static Logger logger = Logger.getLogger(ReverseList.class);

              
          private int id;
              
          private String name;
              
          private String pass;

              
          public int getId() {
                  
          return id;
              }


              
          public void setId(int id) {
                  
          this.id = id;
              }


              
          public String getName() {
                  
          return name;
              }


              
          public void setName(String name) {
                  
          this.name = name;
              }


              
          public String getPass() {
                  
          return pass;
              }


              
          public void setPass(String pass) {
                  
          this.pass = pass;
              }


              
          public List<ReverseList> populate() {//構(gòu)建list,存放ReverseList實例。  
                  List<ReverseList> list = new ArrayList<ReverseList>();
                  
          for (int i = 0; i < 4; i++{
                      ReverseList test 
          = new ReverseList();
                      test.setId(i);
                      test.setName(
          "lee");
                      test.setPass(
          "pass");
                      list.add(test);
                  }

                  
          return list;
              }


              
          public void commRervese() {
                  List
          <ReverseList> list = this.populate();

                  
          for (int m = list.size() - 1; m >= 0; m--{
                      ReverseList reverseList 
          = list.get(m);
                      logger.debug(reverseList.getId());
                      logger.debug(reverseList.getName());
                      logger.debug(reverseList.getPass());
                  }

              }

              
              
          public void stackReverse() {
                  List
          <ReverseList> list = this.populate();

                  Stack
          <ReverseList> stack = new Stack<ReverseList>(); //構(gòu)建堆棧,并對list進行進出棧操作。
                  List<ReverseList> tempList = new ArrayList<ReverseList>();
                  
          for (ReverseList t : list)
                      stack.push(t);
                  
          while (!stack.empty())
                      tempList.add(stack.pop());

                  
          for (ReverseList string : tempList) //獲取到倒序后的list。
                      logger.debug(string.getId());
                      logger.debug(string.getName());
                      logger.debug(string.getPass());
                  }

              }


              

              
          public static void main(String[] args) {
                  
          new ReverseList().stackReverse();
                  
          new ReverseList().commRervese();
              }

          }

          2009年7月14日23:15:42  PS:
          還可以利用lsit中的reverse方法

          public void reverse() {
                  List
          <ReverseList> list = this.populate();

                  
          for(ReverseList t: list) {
                      System.out.println(
          "id:" + t.getId());
                  }

                  
                  Collections.reverse(list);
                  
          for(ReverseList t: list) {
                      System.out.println(
          "id:" + t.getId());
                  }

              }
          主站蜘蛛池模板: 石林| 武定县| 渝北区| 遂昌县| 中西区| 福清市| 恩施市| 阜宁县| 额敏县| 洪湖市| 涞水县| 赤壁市| 凤阳县| 黄陵县| 满洲里市| 静乐县| 海阳市| 师宗县| 岳西县| 宜春市| 类乌齐县| 和平区| 仁布县| 鲜城| 滨海县| 南汇区| 鄂尔多斯市| 玉山县| 芜湖县| 阜新市| 岳普湖县| 玉屏| 上思县| 永吉县| 北辰区| 石渠县| 巴林右旗| 永登县| 赤城县| 田东县| 历史|