無線&移動互聯網技術研發

          換位思考·····
          posts - 19, comments - 53, trackbacks - 0, articles - 283
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          關于list倒序的兩個小方法

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

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

          第一個: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() {//構建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>(); //構建堆棧,并對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());
                  }

              }
          主站蜘蛛池模板: 乐亭县| 北票市| 施秉县| 甘泉县| 友谊县| 大连市| 常德市| 通化县| 麦盖提县| 霸州市| 报价| 内江市| 鄂托克旗| 临安市| 万宁市| 开江县| 漳州市| 浦县| 堆龙德庆县| 青阳县| 县级市| 舟曲县| 诸暨市| 修水县| 油尖旺区| 富平县| 睢宁县| 河北省| 金塔县| 沧源| 五家渠市| 雷波县| 慈利县| 双城市| 科尔| 明光市| 卫辉市| 本溪市| 虹口区| 务川| 金溪县|