<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 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    2007年12月27日

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

    翻開《Java學(xué)習(xí)筆記》,里面對對象容器的描述不錯。

    1. ArrayList和LinkedList

    ArrayList使用了數(shù)組結(jié)構(gòu)實現(xiàn)List的數(shù)據(jù)。所以ArraryList用來快速定位對象是非常有效率的。但是如果要對ArraryList中間插入或者刪除,效率會非常低。

    LinkedList使用鏈表來實現(xiàn)的List。所以跟ArrayList相反,LinkedList對于插入和刪除是非常有優(yōu)勢,反之對于快速定位,是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實現(xiàn)的一個字符串棧

    /**
     *
     * @author Rokey
     * 用LinkedList構(gòu)建一個字符棧,先進先出
     */
    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
    顯示輸入:三二一 一二三 

    posted @ 2007-12-27 23:05 wonderer 閱讀(3078) | 評論 (0)編輯 收藏

    主站蜘蛛池模板: 亚洲AV永久无码精品一福利| 亚洲精品综合久久中文字幕| 久久久久亚洲精品无码网址色欲 | 亚洲精品免费网站| 中文字幕亚洲综合久久| 91香蕉国产线观看免费全集| 亚洲精品视频在线播放| 国产成人无码免费看视频软件| 亚洲中文无码a∨在线观看| 亚洲免费网站观看视频| 亚洲国产精品网站在线播放 | 免费毛片在线视频| 无码人妻一区二区三区免费视频| 亚洲国产专区一区| 久章草在线精品视频免费观看| 亚洲人成色在线观看| 大学生a级毛片免费观看| 在线观看亚洲网站| 久久影视国产亚洲| 99re免费99re在线视频手机版| 亚洲一区中文字幕在线电影网| 国产在线19禁免费观看| 两个人看的www免费视频中文| 亚洲成人一级电影| 四虎影视永久免费观看地址| 99久久婷婷免费国产综合精品| 亚洲美女视频网址| 在线观看免费精品国产| 中文字幕乱码系列免费| 亚洲男人天堂影院| 免费大黄网站在线看| 暖暖免费在线中文日本| 亚洲愉拍一区二区三区| 久久国产成人精品国产成人亚洲 | 久久久久久久免费视频| 免费视频成人国产精品网站| 亚洲成AV人片一区二区| 在线免费观看色片| 久久国产乱子伦精品免费强| 日本亚洲免费无线码 | 永久免费看bbb|