<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    wonderer's program

    everything will be better
    posts - 19, comments - 6, trackbacks - 0, articles - 0
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    《Java學習筆記》--對象容器之ArrayList和LinkedList

    Posted on 2007-12-27 23:05 wonderer 閱讀(3078) 評論(0)  編輯  收藏 所屬分類: java

    去SA面試的時候,面試官問我平時用Java的什么數據結構,答曰:Vector。又問:哪有用過其他的的嗎?例如List和Map之類的。答曰:甚少。(自己汗一個,沒水平)既然不會就要學習啦。

    翻開《Java學習筆記》,里面對對象容器的描述不錯。

    1. ArrayList和LinkedList

    ArrayList使用了數組結構實現List的數據。所以ArraryList用來快速定位對象是非常有效率的。但是如果要對ArraryList中間插入或者刪除,效率會非常低。

    LinkedList使用鏈表來實現的List。所以跟ArrayList相反,LinkedList對于插入和刪除是非常有優勢,反之對于快速定位,是LinkedList的弱項。

    1)ArrayListDemo

    public class ArrayListDemo {
        public static void main(String[] args) {
            
            //用Scanner類,可以輕松獲得commander的輸入
            Scanner scanner = new Scanner(System.in);
            
            List<String> list = new ArrayList<String>();
            
            //在控制臺輸入,quit退出
            while(true) {
                System.out.print("Rokey@console# ");
                String input = scanner.next();
                if(input.equals("quit")) {
                    break;
                }
                list.add(input);
            }
            
            System.out.print("顯示輸入:");
            
            //使用5.0的foreach功能對List進行遍歷
            for(String s:list) {
                //5.0的類C的輸出格式
                System.out.printf("%s ",s);
            }
        }
    }

    輸出:

    Rokey@console# 一二三
    Rokey@console# 三二一
    Rokey@console# quit
    顯示輸入:一二三 三二一 
    

     

    2)用LinkedList實現的一個字符串棧

    /**
     *
     * @author Rokey
     * 用LinkedList構建一個字符棧,先進先出
     */
    public class StringStack {
    
        private LinkedList<String> linkList;
    
        public StringStack() {
            linkList = new LinkedList<String>();
        }
    
        public void push(String s) {
            //將元素加入鏈表第一個位置
            linkList.addFirst(s);
        }
    
        public String pop() {
            //刪除鏈表第一個元素,并返回
            return linkList.removeFirst();
        }
    
        public String top() {
            //返回鏈表第一個元素,但并不刪除
            return linkList.getFirst();
        }
    
        public boolean isEmpty() {
            //檢查鏈表是否為空
            return linkList.isEmpty();
        }
    }
    public class StringStackDemo {
    
        public static void main(String[] args) {
    
            //用Scanner類,可以輕松獲得commander的輸入
            Scanner scanner = new Scanner(System.in);
    
            StringStack stack = new StringStack();
    
            //在控制臺輸入,quit退出
            while (true) {
                System.out.print("Rokey@console# ");
                String input = scanner.next();
                if (input.equals("quit")) {
                    break;
                }
                stack.push(input);
            }
    
            System.out.print("顯示輸入:");
            //使用5.0的foreach功能對List進行遍歷
            
            while(!stack.isEmpty()) {
                //5.0的類C的輸出格式
                System.out.printf("%s ", stack.pop());
            }
        }
    }

    輸出:

    Rokey@console# 一二三
    Rokey@console# 三二一
    Rokey@console# quit
    顯示輸入:三二一 一二三 
    主站蜘蛛池模板: 成人黄18免费视频| 亚洲国产精品自在在线观看| 久久精品亚洲AV久久久无码| 免费A级毛片av无码| 久久综合图区亚洲综合图区| 国产精品免费无遮挡无码永久视频| 亚洲精品乱码久久久久66| 黄色片免费在线观看| 亚洲A∨无码无在线观看| 久久久久久影院久久久久免费精品国产小说| 亚洲一区二区女搞男| 香蕉免费一区二区三区| 亚洲欧洲国产成人精品| 岛国片在线免费观看| 黄色a级免费网站| 亚洲无线码一区二区三区| 99国产精品免费视频观看| 亚洲国产成人手机在线电影bd| 毛片视频免费观看| 老司机午夜性生免费福利| 国产亚洲成av人片在线观看| 2019中文字幕在线电影免费 | 亚洲国产精品无码久久久秋霞2| 国产精品免费在线播放| 亚洲成AV人在线播放无码| 69xx免费观看视频| 亚洲Aⅴ在线无码播放毛片一线天| 亚洲人成无码www久久久| 99视频精品全部免费观看| 亚洲色中文字幕在线播放| 亚洲人成网站色在线入口| 午夜免费福利视频| 亚洲国产精品久久久久秋霞小 | 亚洲国产成人久久综合| 亚洲中文字幕成人在线| 91视频免费网址| 美女露100%胸无遮挡免费观看| 亚洲成人动漫在线| 四虎成人精品在永久免费| 99视频在线免费| 免费国产高清毛不卡片基地|