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

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

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

    swzhebei

    常用鏈接

    統計

    最新評論

    • 1.?re: 調用百度地圖小實例
    • 如果我有100個經緯度 請問,您是不是再代碼里寫100個?你這樣沒有價值,如何獲取動態的請說明!
    • --toly
    • 2.?re: 調用百度地圖小實例
    • 更改經緯度就不行了!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    • --你姥姥

    #

    java集合詳解

    本文系 www.javady.com網站原創
    總接口:Iterable<T>  實現這個接口允許對象成為 "foreach" 語句的目標。

       Collection<E> 層次結構 中的根接口。Collection 表示一組對象

    一、   List  :實現 collection接口  有序的集合  可以允許重復

    ArrayList                           
    初始大小 10
    擴容因子 (大小*3)/2 + 1
    擴容例子 10 超過時之后擴容到  16  然后  25 然后 38...
    數據處理 刪除其中一個元素后后面的元素會自動向前推
    線程是否安全 不安全
    優勢 ArrayList的優勢在于讀取和表尾插入
    多線程使用 List list = Collections.synchronizedList(new ArrayList(…))

          

    LinkedList
    說明 List接口的鏈接列表實現 。
    初始大小 1
    數據處理 刪除其中一個元素后后面的元素會自動向前推,

     

    LinkedList 中的鏈接關系是由 Entity實現的,

    每個Entity都有 上一個Entity引用 下一個Entity引用

    本身元素值Entry(E element, Entry<E> next, Entry<E> previous)

    LinkedList 類還為在列表的開頭及結尾 get、remove 和 insert

    元素提供了統一的命名方法。

    此類實現 Queue 接口,為 add、poll 等提供先進先出隊列操作

    優勢 LinkedList的優勢在于表中插入和刪除
    線程是否安全 不安全 ,可以使用如下進行安全處理

     

    List list = Collections.synchronizedList(new LinkedList(...));

     

    Vector
    說明 Vector 類可以實現可增長的對象數組
    初始大小 10
    擴容因子 1 ,  默認擴容一倍
    擴容例子 10 超過時之后擴容到  20  然后  40 然后 80…
    數據處理 刪除其中一個元素后后面的元素會自動向前推
    是否同步 Vector 是同步的
    用法 一般在多線程中使用對于一般的數據存儲直接用ArrayList

     

    Stack
    類型解釋 表示后進先出(LIFO)的對象堆棧 。

     

    它通過五個操作對類 Vector 進行了擴展 ,

    允許將向量視為堆棧。

    它提供了通常的 push 和 pop 操作

    幾種方法 empty()

     

    測試堆棧是否為空。

    E peek()

    查看棧頂對象而不移除它。

    E pop()

    移除棧頂對象并作為此函數的值返回該對象。

    E push(E item)

    把項壓入棧頂。

    int search(Object o)

    返回對象在棧中的位置,以 1 為基數。

    Arrays                           
    說明 專門用來操作數組的輔助類  Array  固定個數效率最高
    數據處理 Arrays中擁有一組static函數,
    equals():  比較兩個array是否相等。array擁有相同元素個數,

     

    且所有對應元素兩兩相等。
    fill():    將值填入array中。
    sort():    用來對array進行排序。
    binarySearch():在排好序的array中尋找元素。
    System.arraycopy():array的復制

    優勢 這個就是用來處理數組的,效率特別高

     

    如果之前對Arrays沒這么的重視,在J2SE 5.0之后,可以多關照它幾眼

    。如果有數組操作方面的相關需求,可以先查查 java.util.Arrays的API文

    件說明,看看有沒有現成的方法可以使用

     

    二、Set   :一個不包含重復元素的 collection。

    HashSet
    說明 內部使用HashMap 來存儲數據
    初始大小 16
    擴容因子 數據超過當前大小*0.75 容量擴一倍
    擴容例子 當前容量16 如果插入13個數 超過了(16*0.75=12)

     

    容量增加16 最后容量是 32。

    優勢 不允許有重復的元素
    線程是否安全 不安全,可以使用如下進行安全處理

     

    Set s = Collections.synchronizedSet(new HashSet(...))

     

    LinkedHashSet
    說明 內部使用HashMap 來存儲數據
    初始大小 16
    擴容因子 數據超過當前大小*0.75 容量擴一倍
    擴容例子 當前容量16 如果插入13個數 超過了(16*0.75=12)

     

    容量增加16 最后容量是 32。

    優勢 不允許有重復的元素 、 查詢足夠快 、 有序
    線程是否安全 不安全,可以使用如下進行安全處理

     

    Set s = Collections.synchronizedSet(new HashSet(...))

     

    三、Map  :一個不包含重復元素的 無序集合  鍵值對 。

     

    HashMap
    說明 內部使用Entity來存儲數據,key可以為空

     

    put方法:如果key為空,則替換換Key為空的值,

    否則插入到第 O 位置上。

    for (Entry<K,V> e = table[0]; e != null; e = e.next) {

    //null key都放在table[0]上

    if (e.key == null) {

    V oldValue = e.value;

    e.value = value;

    e.recordAccess(this);

    return oldValue;

    }

    }

    如果key不為空,先算出來key對象的hashcode ,

    然后調用函數 hash()在算一次,

    最后把結果和當前hash大小進行計算找到存放該值的位置;

    如果該位置有值 直接把當前值(entity)鏈接到該值最前面 ,

    Entry<K,V> e = table[bucketIndex];

    //這個地方獲取當前位置的 e

    //table[bucketIndex] = new Entry<K,V>(hash, key, value, e);

    //這個地方把要插入的entity的next屬性指向 e,

    然后把整個entity放入 hashMap的index位置,

    如果沒有值就直接放入,

    數組位置每變大一次  里面每個對象的位置都要重新計算一下

    初始大小 16
    擴容因子 數據超過當前大小*0.75 容量擴一倍
    擴容例子 當前容量16 如果插入13個數 超過了(16*0.75=12)

     

    容量增加16 最后容量是 32

    優勢 查詢足夠快
    線程是否安全 線程不安全  可以使用如下進行安全處理

     

    Set s = Collections.synchronizedSet(new HashSet(...))

     

     

    Hashtable
    初始大小 11
    擴容因子 大小 = 大小 * 2 + 1
    擴容例子 11 然后  23 然后47 ....
    是否同步 hashtable是同步的.
    優勢 查詢足夠快
    說明 key  不允許為空

     

    數據的put和get和hashMap基本上一致

    里面的所有方法除了不需要同步的都有 synchronized

     

     

    LinkedHashMap
    初始大小 16
    擴容因子 數據超過當前大小*0.75 容量擴一倍
    擴容例子 當前容量16 如果插入13個數 超過了(16*0.75=12)

     

    容量增加16 最后容量是 32

    是否同步 異步線程不安全 多線程使用可以如下

     

    Map m = Collections.synchronizedMap(new LinkedHashMap(...))
    優勢 查詢足夠快的  有序
    說明 鏈表的形式存儲數據 使用的hash算法保持數據,但同樣也維護了一個插入

     

    順序查詢對象時,速度足夠快

     

    TreeMap 
    初始大小 0
    擴容因子 1
    擴容例子 每插入一個鍵值對,內部創建一個entity來存儲    size + 1
    是否同步 異步線程不安全 多線程使用可以如下

     

    Map m = Collections.synchronizedMap(new TreeMap(...));
    優勢  能夠維護其內元素的排序狀態
    說明 TreeMap 初始化為0 , 每插入一個鍵值對,內部創建一個entity來存儲

     

    內部實現和維護的是一顆紅黑樹,遍歷的時候使用的是前序遍歷法,但是

    查詢get方法的時候需要遍歷,速度不如直接使用hash算法的快

     

     

    Properties
    初始大小 11
    擴容因子 大小 = 大小 * 2 + 1
    擴容例子 11 然后  23 然后47 ....
    是否同步 是同步的.
    優勢 查詢足夠快   可保存在流中或從流中加載數據
    說明 實現了 HashTable  表示了一個持久的屬性集。

     

    Properties 可保存在流中或從流中加載數據。

     

     

    posted @ 2012-05-14 16:50 透明的魚 閱讀(295) | 評論 (0)編輯 收藏

    xstream 讓javabean和xml互相轉換(轉載)

         摘要: 今天需要把數據庫的數據導出l,然后也可以從外面導入保存到數據庫。 考慮導出的數據格式為xml或json。json的話可以用google的gson實現。 以前做過。導出為xml的話,以前都是用java拼裝或jdom或dom4j。今天 發現xstream也很強大,既可以把java對象轉化為xml,也可以從xml轉化為java 對象。專業說法,就是可以序列化為xml,也可以凡序列化為java對象...  閱讀全文

    posted @ 2012-05-14 16:01 透明的魚 閱讀(3952) | 評論 (0)編輯 收藏

    java知識

        只有注冊用戶登錄后才能閱讀該文。閱讀全文

    posted @ 2012-04-18 16:23 透明的魚 閱讀(14) | 評論 (0)編輯 收藏

    調用百度地圖小實例

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "<html xmlns="<head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <meta name="keywords" content="" />
    <meta name="description" content="百度地圖API自定義地圖,幫助用戶在可視化操作下生成百度地圖" />
    <title>百度地圖API自定義地圖</title>
    <!--引用百度地圖API-->
    <style type="text/css">
        html,body{margin:0;padding:0;}
        .iw_poi_title {color:#CC5522;font-size:14px;font-weight:bold;overflow:hidden;padding-right:13px;white-space:nowrap}
        .iw_poi_content {font:12px arial,sans-serif;overflow:visible;padding-top:4px;white-space:-moz-pre-wrap;word-wrap:break-word}
    </style>
    <script type="text/javascript" src="
    >
    </head>

    <body>
      <!--百度地圖容器-->
      <div style="width:697px;height:550px;border:#ccc solid 1px;" id="dituContent"></div>
    </body>
    <script type="text/javascript">
        var opts = {
          width : 100,     // 信息窗口寬度
          height: 50,     // 信息窗口高度
          title : "IBM中國股份有限公司"  // 信息窗口標題
        }
        //創建和初始化地圖函數:
        function initMap() {
            createMap(); //創建地圖
            setMapEvent(); //設置地圖事件
            addMapControl(); //向地圖添加控件
        }

        //創建地圖函數:
        function createMap() {
            var map = new BMap.Map("dituContent"); //在百度地圖容器中創建一個地圖
            var point = new BMap.Point(104.114129, 37.550339); //定義一個中心點坐標
            map.centerAndZoom(point, 5); //設定地圖的中心點和坐標并將地圖顯示在地圖容器中
            window.map = map; //將map變量存儲在全局

            //向地圖添加標注
            var bounds = map.getBounds();       

            var point = new BMap.Point(116.326655,39.902095);
            var marker = new BMap.Marker(point);
            var label = new BMap.Label('IBM全球總部',{"offset":new BMap.Size(9,-15)});
            marker.setLabel(label);
            map.addOverlay(marker);
            marker.addEventListener("click", function(){this.openInfoWindow(new BMap.InfoWindow("全球總部(北京)</br>Tel:010-10000000", opts));});

            var point = new BMap.Point(103.809019, 30.850669);
            var marker = new BMap.Marker(point);
            var label = new BMap.Label('成都分公司',{"offset":new BMap.Size(9,-15)});
            marker.setLabel(label);
            map.addOverlay(marker);
            marker.addEventListener("click", function(){this.openInfoWindow(new BMap.InfoWindow("成都分公司</br>Tel:暫無", opts));});

            var point = new BMap.Point(114.059763,22.646821);
            var marker = new BMap.Marker(point);
            var label = new BMap.Label('香港分公司',{"offset":new BMap.Size(9,-15)});
            marker.setLabel(label);
            map.addOverlay(marker);
            marker.addEventListener("click", function(){this.openInfoWindow(new BMap.InfoWindow("香港分公司</br>Tel:暫無", opts));});

            var point = new BMap.Point(121.323246, 31.294085);
            var marker = new BMap.Marker(point);
            var label = new BMap.Label('上海分公司',{"offset":new BMap.Size(9,-15)});
            marker.setLabel(label);
            map.addOverlay(marker);
            marker.addEventListener("click", function(){this.openInfoWindow(new BMap.InfoWindow("上海分公司</br>Tel:暫無", opts));});
        }
        // 編寫自定義函數,創建標注
        function addMarker(point, index) {
            var myIcon = new BMap.Icon("
                offset: new BMap.Size(10, 25),                  // 指定定位位置
                imageOffset: new BMap.Size(0, 0 - index * 25)   // 設置圖片偏移
            });
            var marker = new BMap.Marker(point, { icon: myIcon });
            map.addOverlay(marker);
        }

        //地圖事件設置函數:
        function setMapEvent() {
            map.enableDragging(); //啟用地圖拖拽事件,默認啟用(可不寫)
            map.enableScrollWheelZoom(); //啟用地圖滾輪放大縮小
            map.enableDoubleClickZoom(); //啟用鼠標雙擊放大,默認啟用(可不寫)
            map.enableKeyboard(); //啟用鍵盤上下左右鍵移動地圖
        }

        //地圖控件添加函數:
        function addMapControl() {
            //向地圖中添加縮放控件
            var ctrl_nav = new BMap.NavigationControl({ anchor: BMAP_ANCHOR_TOP_LEFT, type: BMAP_NAVIGATION_CONTROL_LARGE });
            map.addControl(ctrl_nav);
            //向地圖中添加縮略圖控件
            var ctrl_ove = new BMap.OverviewMapControl({ anchor: BMAP_ANCHOR_BOTTOM_RIGHT, isOpen: 1 });
            map.addControl(ctrl_ove);
            //向地圖中添加比例尺控件
            var ctrl_sca = new BMap.ScaleControl({ anchor: BMAP_ANCHOR_BOTTOM_LEFT });
            map.addControl(ctrl_sca);
        }
        initMap(); //創建和初始化地圖
    </script>
    </html>

    posted @ 2012-04-18 16:19 透明的魚 閱讀(10095) | 評論 (2)編輯 收藏

    僅列出標題
    共2頁: 上一頁 1 2 
    主站蜘蛛池模板: 永久免费bbbbbb视频| 国国内清清草原免费视频99| 国产精品国产自线拍免费软件| 亚洲成a人片在线观看中文!!! | 亚洲av无码精品网站| eeuss影院www天堂免费| 亚洲欧洲久久av| 久久久久久av无码免费看大片| 相泽亚洲一区中文字幕| 两个人看的www视频免费完整版| 亚洲人成伊人成综合网久久久| a毛片免费全部播放完整成| 亚洲精品一品区二品区三品区| 成人片黄网站色大片免费观看APP| 亚洲国产精品特色大片观看完整版 | 中文字幕日韩亚洲| 免费萌白酱国产一区二区三区 | 亚洲成AV人片在| 久草视频免费在线| 亚洲人成无码网站在线观看 | 国产91在线免费| 曰批全过程免费视频免费看 | 黄色a三级免费看| 国产亚洲综合网曝门系列| 久久永久免费人妻精品下载| 亚洲人成在久久综合网站| 国产午夜影视大全免费观看 | 在线看片免费人成视久网| 亚洲一区精彩视频| 亚洲av成人一区二区三区在线观看| 中文字幕永久免费| 91午夜精品亚洲一区二区三区| 国产精品视_精品国产免费| 国产黄在线观看免费观看不卡| 18亚洲男同志videos网站| 精品国产一区二区三区免费看| 成人妇女免费播放久久久| 亚洲国产精品成人精品小说| 亚洲国产中文字幕在线观看 | 精品久久久久久久免费加勒比| 国产精品免费久久久久电影网|