<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # JAVA之旅(十八)——基本數據類型的對象包裝類,集合框架,數據結構,Collection,ArrayList,迭代器Iterator,List的使用 * * * > JAVA把完事萬物都定義為對象,而我們想使用數據類型也是可以引用的 ## 一.基本數據類型的對象包裝類 > 左為基本數據類型,又為引用數據類型 * byte Byte * int Integer * long Long * boolean Booleab * float Float * double Double * char Character > 我們拿Integer來舉例子 ~~~ //整數類型的最大值/最小值 sop("最大值:"+Integer.MAX_VALUE); sop("最小值:"+Integer.MIN_VALUE); ~~~ > 輸出 ![這里寫圖片描述](http://img.blog.csdn.net/20160618161134665) > 基本數據類型對象包裝類的最常見作用 * 就是用于基本數據類型和字符串數據類型之間的轉換 * 基本數據類型轉成字符串 > 基本數據類型+“”? > Integer.toString(34) * 字符串轉成基本數據類型 ~~~ // 將一個字符串轉為整數 int num = Integer.parseInt("123"); sop("值:" + (num + 5)); ~~~ > 輸出的結果 ![這里寫圖片描述](http://img.blog.csdn.net/20160618162213434) > 像其他的使用方法都是類似的,但是有特殊的,那就是boolean,一個是true一個是“true”,再比如你傳的是abc轉int類型,這就奇葩了,他會報數據格式異常的 > > 當然,還有各種進制的轉換,說白了就是幾個方法,大家可以研究一下,這里就不多做贅述了 > > 我們實際來一個小例子來突出他們的特性 ~~~ package com.lgl.hellojava; //公共的 類 類名 public class HelloJJAVA { public static void main(String[] args) { /** * 基本數據類型的對象包裝類 */ Integer x = new Integer("123"); Integer y = new Integer(123); // 問 sop("x == y :" + (x == y)); sop("x.equals(y) : " + (x.equals(y))); } /** * 輸出 */ public static void sop(Object obj) { System.out.println(obj); } } ~~~ > 這樣得到的結果呢? ![這里寫圖片描述](http://img.blog.csdn.net/20160618163033627) > 這里就好理解了 > > JDK1.5版本以后出現的新特性 * 自動裝箱 ~~~ Integer x = new Integer(4); Integer x = 4; //自動裝箱 x = x + 2; //進行了自動拆箱,變成了int類型,和2進行加法運算,再將和進行裝箱,賦給x ~~~ > 再來一個有意思的例子 ~~~ Integer x = 128; Integer y = 128; Integer i = 127; Integer j = 127; sop("x == y :" + (x == y)); sop("i == j : " + (i == j)); ~~~ > 這里輸出多少? ![這里寫圖片描述](http://img.blog.csdn.net/20160618174148203) > 為什么會這樣? * 因為i和j是同一個Integer對象,在byte范圍內,對于新特性,如果該數值已經存在,則不會再開辟新的空間 ## 二.集合框架 > 講完雜七雜八的數據類型,我們接著講數據類型存儲,首先我們聊聊集合 * 為什么出現集合類 * 面向對象語言對事物的體現都是以對象的形式,所以為了方便對多個對象的操作,就對對象進行了存儲,集合就是存儲對象最常用的一種方式 * 數組和集合類同時容器有何不同? * 數組雖然也可以存儲對象,但是長度是固定的,集合長度是可變的,數組中可以存儲數據類型,集合只能存儲對象 * 集合的特點 * 集合只用于存儲對象,集合長度是可變的,集合可以存儲不同類型的對象 > 集合框架是不斷的向上抽取的 ![這里寫圖片描述](http://img.blog.csdn.net/20160618181913093) > 為什么會出現這么多的容器呢? * 因為每一個容器對數據的存儲方式都有不同,這個存儲方式我們稱之為:**數據結構** > 我們會依次的學習這個數據結構 ## 三.Collection ![這里寫圖片描述](http://img.blog.csdn.net/20160618182443274) > 根接口,我們來學習他們的共性方法 ~~~ package com.lgl.hellojava; import java.util.ArrayList; //公共的 類 類名 public class HelloJJAVA { public static void main(String[] args) { /** * Collection */ // 創建一個集合容器,使用Collection接口的子類Arraylist ArrayList list = new ArrayList(); // 添加元素 list.add("Hello 0"); list.add("Hello 1"); list.add("Hello 2"); list.add("Hello 3"); list.add("Hello 4"); // 獲取集合的長度 sop("長度:" + list.size()); } /** * 輸出 */ public static void sop(Object obj) { System.out.println(obj); } } ~~~ > 寫法是這樣寫的,這里有疑問,為什么add參數是Object? * 1.add方法的參數類型是Object,已便于接收任意類型的對象 * 2.集合中存儲的都是對象的引用和地址, > 所以我們還可以 ~~~ // 獲取集合的長度 sop("長度:" + list.size()); //打印集合 sop(list); //刪除元素 list.remove("Hello 1"); sop(list); //判斷 sop("Hello 3是否存在:"+list.contains("Hello 3")); //清空 list.clear(); //是否為空 sop(list.isEmpty()); sop(list); ~~~ > 得出結論 ![這里寫圖片描述](http://img.blog.csdn.net/20160618202852290) > 我們再來講一個交集 ~~~ public static void method_2() { ArrayList list = new ArrayList(); // 添加元素 list.add("Hello 0"); list.add("Hello 1"); list.add("Hello 2"); list.add("Hello 3"); list.add("Hello 4"); ArrayList list1 = new ArrayList(); // 添加元素 list1.add("java 0"); list1.add("Hello 1"); list1.add("java 2"); list1.add("Hello 3"); list1.add("java 4"); // 取交集 list只會保留和list1中相同的元素 list.retainAll(list1); sop(list); } ~~~ > list只會保留和list1中相同的元素 ![這里寫圖片描述](http://img.blog.csdn.net/20160618204259153) ## 四.迭代器Iterator > 我們再來說下迭代器,也就是怎么取出數據操作 ~~~ /** * 迭代器 */ public static void method_get() { ArrayList list = new ArrayList(); // 添加元素 list.add("Hello 0"); list.add("Hello 1"); list.add("Hello 2"); list.add("Hello 3"); list.add("Hello 4"); //獲取迭代器,用于取出集合中的元素 Iterator iterator = list.iterator(); while (iterator.hasNext()) { sop(iterator.next()); } } ~~~ > 這樣就能全部打印出來了 ![這里寫圖片描述](http://img.blog.csdn.net/20160618215347157) > 那我們理解什么是迭代器? * 其實就是集合取出元素的方式? > 就把取出方式定義在集合的內部,這樣取出的方式就直接訪問集合內容的集合,那么取出方式就會定義成內部類,而每個容器的數據結構都不同,所以取出的動作細節也不同,但是都有共性內容,判斷,取出,那么可以將寫共性抽取,那么這些內部類都符合一個規則,該規則就是iterator,如何獲取集合的取出對象呢?通過一個對外提供的方法interator();? > 大體的方向我們掌握了,這樣我們就應該細分下去講了,我們先說下List ## 六.List > Collection下有兩個子接口,list和set,他們兩個的區別就是 * list:元素是有序的,元素可以重復,因為該集合體系有索引 * set:元素是無序,元素不可以重復,不能索引 > 我們只要說的就是list,共性的就不講了,我們、他獨有的 > > List特有方法:凡是可以操縱交表的方法都是該體系的特有方法,也就是 * 增? * add(index,element) * addAll(index Collection); * 刪? * remove(index) * 改? * set(index) * 查? * get(index) * subList(from,to) * listIterator() > 我們挨個說一遍就好了,這個本來就是老套路了,我們就算總結一下前面的知識 ~~~ package com.lgl.hellojava; import java.util.ArrayList; import java.util.Iterator; //公共的 類 類名 public class HelloJJAVA { public static void main(String[] args) { /** * List */ ArrayList al = new ArrayList(); // 添加元素 al.add("java 0"); al.add("java 1"); al.add("java 2"); sop("原集合 : " + al); // 在指定位置添加元素 al.add(1, "java 3"); sop("添加后 : " + al); // 刪除指定位置的元素 al.remove(2); sop("刪除后: " + al); // 修改元素 al.set(2, "java 4"); sop("修改后: " + al); // 通過角標獲取元素 sop("查找 : " + al.get(1)); sop("所有元素"); // 獲取所有元素 for (int i = 0; i < al.size(); i++) { sop("元素" + i + " = " + al.get(i)); } sop("迭代器"); // 通過迭代器 Iterator it = al.iterator(); while (it.hasNext()) { sop("next:" + it.next()); } } /** * 輸出 */ public static void sop(Object obj) { System.out.println(obj); } } ~~~ > 這里就涵蓋了很多的list的知識點,不斷向上抽取的一個過程了,我們輸出的結果 ![這里寫圖片描述](http://img.blog.csdn.net/20160618223727920) > 好的,那這樣的話,我們本節課也就到這里,OK了,感謝你看了這么久,累了就喝杯水吧! ## 我的群:555974449,歡迎你的到來! 版權聲明:本文為博主原創文章,博客地址:http://blog.csdn.net/qq_26787115,未經博主允許不得轉載。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看