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

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

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

    posts - 176, comments - 240, trackbacks - 0, articles - 7

    [導入]TreeNode:長程關聯

    Posted on 2005-11-19 10:59 canonical 閱讀(350) 評論(0)  編輯  收藏 所屬分類: Witrix開發平臺

    java中最常用的數據結構類型是Map和List, 它們也是Container的兩種基本模式,一個是根據特征值定位,一個是根據地址定位。 它們共同的一個特征是表達了數據之間的直接的,短程的一種相關性。另一種常見的數據結構Tree則表達了數據之間的一種長程的關聯:根節點與其所有層次上 的子節點之間都存在著關聯。 文件系統,組織機構, XML文檔等都可以對應為Tree數據結構。在描述樹形結構的時候,我們經常使用XML文件, 但是XML文件在程序中操縱起來并不方便,這其中的一個重要原因是XML是面向文檔的,即操縱XML的API返回的和使用的都只能是文本字符串,而不能直 接使用程序中常見的其他數據結構。在witrix平臺中操縱Tree結構的標準接口是TreeNode類,它的設計是面向應用的,即節點的屬性值為 Object類型而不是String類型。

    Tree由三部分組成: 屬性,值, 子節點

    class TreeNode implements IVariant{
     List getChildren();

     int getChildCount();
     TreeNode child(int index);

     /** 當name對應的節點不存在時將會自動創建該節點 */
     TreeNode child(String name);

        /** 當name對應的節點不存在時返回null */
     TreeNode existingChild(String name);

     Map getAttributes();
     IVariant attribute(String name);
     void setAttribute(String name, Object attrValue);
    }

    TreeNode.attribute(name)返回的是IVariant接口,例如
    boolean defaultValue = true;
    boolean b = node.child("subA").attribute("attrB").booleanValue(defaultValue);

    TreeNode本身也是IVariant接口的一個實現,例如
    int i = ode.intValue();

    通過使用IVariant接口,我們實現了強類型的java語言與弱類型的xml文本之間的自然轉換,在轉換過程中還可以指定缺省值,這些都極大的簡化了實際應用時的編碼量。
    主站蜘蛛池模板: 亚洲欧洲无卡二区视頻| 日本久久久久亚洲中字幕| 亚洲精品国产精品| 国内精品乱码卡1卡2卡3免费| 久久久久亚洲Av无码专| 久久午夜羞羞影院免费观看| 精品亚洲A∨无码一区二区三区| 午夜精品射精入后重之免费观看| 亚洲天堂中文资源| 久久久久成人片免费观看蜜芽 | jizz中国免费| 国产亚洲大尺度无码无码专线| 特级做A爰片毛片免费看无码| 亚洲AV午夜福利精品一区二区| 免费人妻无码不卡中文字幕系 | 国产极品粉嫩泬免费观看| 在线精品自拍亚洲第一区| 国产免费卡一卡三卡乱码| 无遮挡国产高潮视频免费观看| 亚洲热线99精品视频| 无码精品人妻一区二区三区免费看 | 日韩亚洲精品福利| 中文字幕免费观看全部电影| 亚洲AV第一页国产精品| 国产成人yy免费视频| 国产成人亚洲综合在线| 激情97综合亚洲色婷婷五| 999任你躁在线精品免费不卡| 亚洲婷婷第一狠人综合精品| 免费a级黄色毛片| 一级毛片免费不卡在线| 亚洲综合小说另类图片动图 | 亚洲老熟女@TubeumTV| 日本高清免费中文字幕不卡| 国产精品福利在线观看免费不卡| 久久久亚洲欧洲日产国码二区| 最近中文字幕mv免费高清电影| 一区二区三区在线免费观看视频| 亚洲最大在线观看| 亚洲伊人久久综合中文成人网| 五月婷婷综合免费|