⑴ java中set<string>類型的東西是什麼如何將一個string類型的字元串增加到裡面
Set是集合的意思,是同種對象的集合,<String>說明這種對象都是String類型的對象。
可以這樣:
Set<String> set = new HashSet<String>();
Strings1= "hello";
String s2 = "world";
set.add(s1);
set.add(s2);
這樣就添加了兩個元素。
Java中String類學習總結
一、String是不可變對象
java.lang.String類使用了final修飾,不能被繼承。Java程序中的所有字面值,即雙引號括起的字元串,如"abc",都是作為String類的實例實現的。String是常量,其對象一旦構造就不能再被改變。
例:
public class Immutable {
public static String upcase(String s) {
return s.toUpperCase();
}
public static void main(String[ ] args) {
String str1= "Hello World";
System.out.println(str1); //Hello World
String str2 = upcase(str1);
System.out.println(str2); //HELLO WORLD
System.out.println(str1); //Hello World
}
}
二、String常量池
常量池(constant pool)指的是在編譯期被確定,並被保存在已編譯的.class文件中的一些數據。Java為了提高性能,靜態字元串在常量池中創建,並盡量使用同一個對象,重用靜態字元串。對於重復出現的字元串直接量,JVM會首先在常量池中查找,如果常量池中存在即返回該對象。
例:
public class test1 {
public static void main(String[] args){
String str1 = "Hello";
//不會創建新的String對象,而是使用常量池中已有的"Hello",
String str2 = "Hello";
System.out.println(str1 == str2); //true
//使用new關鍵字會創建新的String對象
String str3 = new String("Hello");
System.out.println(str1 == str3); //false
}
}
⑵ List、Set、Map三種集合的區別
1. Set集合:
Set介面是Collection介面的一個子介面,它提供無序且不包含重復元素的集合。在添加元素時,Set會根據元素的hashCode值來檢查是否已存在,如果存在相同的元素(即調用equals方法返回true),則添加操作會失敗,返回false。Set的主要實現類有:
- HashSet:可以存儲任意類型的元素,添加元素時會使用hashCode和equals方法來確保唯一性。
- TreeSet:只能存儲一種數據類型,默認根據元素的自然順序進行排序,也可以通過實現Comparator介面來自定義排序。
2. List集合:
List介面繼承自Collection介面,它維護了一個元素的有序集合。List有兩個主要的實現類:
- ArrayList:基於數組實現,提供快速的隨機訪問能力,但在插入和刪除元素時效率較低。
- LinkedList:基於鏈表實現,插入和刪除操作較為高效,但隨機訪問性能較差。它還提供了一些特殊方法,如addFirst、addLast等,適合用作棧、隊列或雙向隊列。
3. Map集合:
Map介面定義了鍵值對的映射關系,不是Collection介面的子介面。它有兩個常用的實現類:
- HashMap:非線程安全,適用於單線程環境,提供靈活的鍵值映射。
- Hashtable:線程安全,性能相對較低,適用於多線程環境。
- LinkedHashMap:在HashMap的基礎上,保留了插入順序,適合需要順序訪問的場景。
- TreeMap:以紅黑樹實現,自動排序,適合需要按順序訪問和排序的鍵值對。
在選擇集合類型時,應根據需要訪問元素的方式(隨機或順序)、元素是否唯一、以及是否需要線程安全等因素來決定。
⑶ 怎樣從java集合類set中取出數據
創建set的iterator方法:
Set<Object> set = new HashSet<Object>();
Iterator<Object> it = set.iterator();
while(it.hasNext())//判斷是否有下一個
it.next()取出元素。
以上方法便是從Set集合中取出數據。
(3)set介面常用方法擴展閱讀:
Java中使用Set介面描述一個集合(集合不允許有「重復值」,注意重復的概念),集合Set是Collection的子介面,Set不允許其數據元素重復出現,也就是說在Set中每一個數據元素都是唯一的。Set介面定義的常用方法如下:
1、size() 獲取Set尺寸(即Set包含數據元素的總數)。
2、 add(Object obj) 向Set中添加數據元素obj。
3、remove(Object obj) 從Set中移除數據元素obj。
4 、contains(Object obj) 判斷當前Set中是否包含數據元素obj,如果包含返回true,否則返回false。
5、iterator() 將Set裝入迭代器。