<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 閱讀(3086) 評論(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
    顯示輸入:三二一 一二三 
    主站蜘蛛池模板: 亚洲国产一区国产亚洲| 亚洲国产91精品无码专区| 亚洲AV永久无码区成人网站| 国产成人综合亚洲| 啦啦啦www免费视频| 亚洲自偷自偷在线成人网站传媒| 在线观看免费视频资源| 亚洲人成电影亚洲人成9999网| 可以免费观看的国产视频| 亚洲av无码专区国产乱码在线观看| 国产特黄一级一片免费| 亚洲免费人成在线视频观看| a毛片免费播放全部完整| 亚洲精品你懂的在线观看| 国产高清不卡免费视频| 亚洲韩国—中文字幕| 亚洲免费视频网址| 亚洲国产区男人本色在线观看| 在线观看成人免费视频| 国产精品久久久久久亚洲影视| 免费人妻无码不卡中文字幕18禁| 成年免费a级毛片| 精品亚洲福利一区二区| 在线观看亚洲天天一三视| 免费视频一区二区| 亚洲人成7777影视在线观看| 日本特黄特色免费大片| xxxxx做受大片视频免费| 久久青青草原亚洲AV无码麻豆| 免费人成在线观看69式小视频| 亚洲午夜福利在线视频| 亚洲男人av香蕉爽爽爽爽| 久久久久久久久久国产精品免费| 亚洲午夜久久久久久尤物| 国产午夜鲁丝片AV无码免费| 中文字幕久无码免费久久| 国产成人精品日本亚洲网址| 亚洲国产成人久久综合野外| 69国产精品视频免费| 美女被暴羞羞免费视频| 日韩亚洲Av人人夜夜澡人人爽 |