日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java 编程思想 笔记_java编程思想笔记20170215

發布時間:2025/3/19 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 编程思想 笔记_java编程思想笔记20170215 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

importjava.util.ArrayList;importjava.util.List;public classTest {public static voidmain(String[] args) {

List list = new ArrayList();

list.add("1");

list.add("2");

String[] tt=(String[]) list.toArray(new String[0]);

}

}

這段代碼是沒問題的,但我們看到String[] tt =(String[]) list.toArray(new String[0]) 中的參數很奇怪,然而去掉這個參數new String[0]卻在運行時報錯。。。

list.toArray()返回的是一個Object[]類型的,按理說,該容器中的元素已經用泛型限制了,那里面的元素就應該被當作泛型類型的來看了,然而在目前的java中卻不是的,當直接String[] tt =(String[]) list.toArray()時,運行報錯。原因是容器的類型已經強制轉過來了,然而容器中的元素類型卻沒有轉過來,所以運行時報錯。

這是在看代碼(ListFeatures.java)擁有的一個疑問:

Pet[] pa = pets.toArray(new Pet[0]);

new Pet[0]僅僅就是一個類型提示的作用吧

另外, subList()所產生的列表的幕后就是初始列表,因此,對所返回的列表的修改都會反映到初始列表中,反之亦然。

例如,改變subList()返回列表的順序,原始列表相應部分的順序也改變了

SortedSet接口

從TreeSet類的定義中可以發現,TreeSet中實現了SortedSet接口,此接口主要用于排序操作,即實現此接口的子類都屬于排序的子類。SortedSet接口定義如下:

public?interface?SortedSet?extends?Set

發現此接口也繼承了Set接口。此接口中定義了如表13-7所示的方法。

表13-7? SortedSet接口中定義的方法

序號

方法

類型

描述

1

public Comparator

super E> comparator()

普通

返回與排序有關聯的比較器

2

public E first()

普通

返回集合中的第一個元素

3

public SortedSet headset

(E toElement)

普通

返回從開始到指定元素的集合

4

public E last()

普通

返回最后一個元素

5

public?SortedSet subSet

(E fromElement,E toElement)

普通

返回指定對象間的元素

6

public SortedSet tailSet

(E fromElement)

普通

從指定元素到最后

范例:驗證SortedSet接口

package?org.lxh.demo13.setdemo;

importjava.util.SortedSet;

importjava.util.TreeSet;

publicclassTreeSetDemo05?{

publicstaticvoidmain(String[]?args)?{

SortedSet?allSet?=?newTreeSet();???//?為SortedSet

實例化

allSet.add("A");?????????????????? //?增加元素

allSet.add("B");????????????????? //?增加元素

allSet.add("C");??????????????? //?增加元素

allSet.add("C");???????????????? //?重復元素,不能

加入

allSet.add("C");??????????????????? //?重復元素,不能加入

allSet.add("D");???????????????????? //?增加元素

allSet.add("E");?????????????????? //?增加元素

System.out.println("第一個元素:"+? allSet.first());

System.out.println("最后一個元素:"+?allSet.last());

System.out.println("headSet元素:"+ allSet.headSet("C"));

System.out.println("tailSet元素:"+?allSet.tailSet("C"));

System.out.println("subSet元素:"+?allSet.subSet("B","D"));

}

}

程序運行結果:

第一個元素:A

最后一個元素:E

headSet元素:[A,?B]

tailSet元素:[C,?D,?E]

subSet元素:[B,?C]

net.mindview.util包下的?文件讀寫工具類TextFile.java

//使用此工具類可以快速的實現讀取文件內容到string,并封裝到ArrayList中;進行一系列的操作之后,可以再講內容寫入到文件中。

//使用此工具可以避免JavaIO中一些繁瑣的裝飾操作,簡化了編程

String s1 = "how are you";

String s2= "how are you";

String s3= new String("how are you");

String s4= new String("how are you");

System.out.println(s1== s2); //true

System.out.println(s3 == s4); //false

String s1 = "java";

String s2 = "java";

System.out.println(s1==s2); //true

System.out.println(s1.equals(s2)); //true

如果String緩沖池內不存在與其指定值相同的String對象,那么此時虛擬機將為此創建新的String對象,并存放在String緩沖池內。

如果String緩沖池內存在與其指定值相同的String對象,那么此時虛擬機將不為此創建新的String對象,而直接返回已存在的String對象的引用。

總結

以上是生活随笔為你收集整理的java 编程思想 笔记_java编程思想笔记20170215的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。