導航:首頁 > 使用方法 > set集合中常用方法

set集合中常用方法

發布時間:2022-09-04 02:55:50

1. python集合的使用怎麼樣的

Python set 集合最常用的操作是向集合中添加、刪除元素,以及集合之間做交集、並集、差集等運算。
向set集合中添加元素
set 集合中添加元素,可以使用 set 類型提供的 add() 方法實現,該方法的語法格式為:
1
setname.add(element)
其中,setname 表示要添加元素的集合,element 表示要添加的元素內容。
需要注意的是,使用 add() 方法添加的元素,只能是數字、字元串、元組或者布爾類型(True 和 False)值,不能添加列表、字典、集合這類可變的數據,否則 Python 解釋器會報 TypeError 錯誤。例如:
1
2
3
4
5
a = {1,2,3}
a.add((1,2))
print(a)
a.add([1,2])
print(a)
運行結果為:
1
2
3
4
5
{(1, 2), 1, 2, 3}
Traceback (most recent call last):
File "C:\Users\mengma\Desktop\1.py", line 4, in
a.add([1,2])
TypeError: unhashable type: 'list'
從set集合中刪除元素
刪除現有 set 集合中的指定元素,可以使用 remove() 方法,該方法的語法格式如下:
1
setname.remove(element)
使用此方法刪除集合中元素,需要注意的是,如果被刪除元素本就不包含在集合中,則此方法會拋出 KeyError 錯誤,例如:
1
2
3
4
5
a = {1,2,3}
a.remove(1)
print(a)
a.remove(1)
print(a)
運行結果為:
1
2
3
4
5
{2, 3}
Traceback (most recent call last):
File "C:\Users\mengma\Desktop\1.py", line 4, in
a.remove(1)
KeyError: 1

2. java裡面的集合框架的set用法應該怎麼做

1、Set:它是無序、不重復、該介面中的方法和Collection介面中的方法一致。

繼承它的子類有HashSet和TreeSet。

根據元素的兩個方法來完成的,一個是HashCode、一個是equals方法,只有當hashCode方法算出哈希值相同時,會再次判斷兩個元素的equals方法是否為true,如果是true說明兩個元素相同,不存儲,所以往hashSet集合中存儲自定義對象時,要覆蓋hashCode,equals方法,通過自定義對象具備的特有數據定義hashCode、equals的具體實現。

它保證元素的唯一性,就是通過元素對象的比較方法返回值來確定的,如果為0,則視為兩個元素時相同的元素,不存儲。

treeset的兩種排序方式:

1、讓元素自身具備比較功能,就是強制讓元素類去實現comparable介面,覆蓋compareTo方法,這時元素具備的自然排序,可是如果元素自身不具備比較功能,獲取具備的比較功能不是所需要的,這時排序方式就不能用了。

2、讓集合自身具備比較功能,需要定義比較器,其實就實現了comparetor介面的子類對象作為參數傳遞給treeSet集合的構造函數,讓treeSet集合一創建就具備了比較功能,該子類必須要覆蓋compare方法。

3. python中set的用法小結

python提供了常用的數據結構,其中之一就是set,python中的set是不支持索引的、值不能重復、無需插入的容器。

簡單記錄下set常用的操作函數:

1.新建一個set:

set("Hello"),這樣會轉成單個字元的值進行插入,結果是'H','e','l','o','l'因為重復只能插入一次。

2.增加一個元素:

add()用於增加一個元素值,

update([]),用於增加多個元素值,參數為list,注意如果用add增加多個值,會報參數類型錯誤。

3.刪除一個元素:

remove()用於刪除一個set中的元素,這個值在set中必須存在,如果不存在的話,會引發KeyError錯誤。

discard()用於刪除一個set中的元素,這個值不必一定存在,不存在的情況下刪除也不會觸發錯誤。

4.隨機刪除函數:

set提供了一個pop()函數,這個函數隨機返回一個元素值,然後把這個值刪除,如果set為空,調用這個函數會返回Key錯誤。

5.清空函數:

clear(),將set全部清空。

6.測試單個元素在集合內是否存在:

in 或者 not in 如果需要判斷一個值在集合內是否存在,in就能滿足要求,例如2 in set_num 如果存在則返回True,否則返回False。

7.測試兩個集合是否包含,子集操作:

issubset和issuperset,

s1.issubset(s2)  :測試是否 s1 中的每一個元素都在 s2 中,運算符操作為 s1<=s2;

s2.issuperset(s1)  :測試是否 s1 中的每一個元素都在 s2 中,運算符操作為 s1>=s2;//注意是s2調用,參數為s1.

8.集合的並集:

union s1.union(s2)  :返回一個新集合,新集合包含s1,s2的所有元素,等價的運算符為 | 。

9.集合的交集:

intersection,s1.intersection(s2),返回s1和s2中相同部分

10.其他操作:

s1.difference(s2):包含s1中有,但是s2沒有的元素的集合。

s1symmetric_difference(s2):包含s1和s2中不相同的元素的集合。

以上只是一部分操作的描述,如果有錯誤,敬請指正。

4. Java中Set集合怎樣用for遍歷

set是要用迭代器訪問。迭代器好比一個指向元素之間的指針,每移動一次,就指向下一個元素。
迭代器英文叫做Iterator。set有iterator方法,傳給迭代器對象進行迭代。
示例如下:
package cn.util;

import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Set;

public class SetDemo {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Set set=new HashSet();
List list=new LinkedList();
list.add("1");
list.add("2");
set.add(list);
list=new LinkedList();
list.add("1");
list.add("2");
set.add(list);
set.add("a");
set.add("b");
set.add("a");
Iterator it= set.iterator();
while(it.hasNext())
{
Object ob=it.next();
if(ob instanceof List)
{
System.out.println(ob+" "+"true");
}
else{
System.out.println(ob+" "+"false");
}

}
System.out.println(set.size());

}

}

5. C++ 的 set 集合應該怎麼用,求簡單的初始化,添加值,和遍歷!!!

#include <iostream>
#include <set>
using namespace std;
void main()
{
set<int> s1; //空set集合
set<int>::iterator it;

int a[]= {1,2,3,4,5};
set<int> s2 (a,a+5); //利用指針對象初始化set集合

s2.insert(0); //插入方法1
s2.insert(s2.begin(),7); //插入方法2
int b[] ={10,11,12,13,14,15};
s2.insert(b,b+3); //插入方法3

cout<<"集合s2中的元素:"<<endl;
for(it=s2.begin();it!=s2.end();it++) //遍歷
cout<<" "<<*it<<endl;

system("pause");
}

6. 怎樣從java集合類set中取出數據

創建set的iterator方法:

Set<Object> set = new HashSet<Object>();

Iterator<Object> it = set.iterator();

while(it.hasNext())//判斷是否有下一個

it.next()取出元素。

以上方法便是從Set集合中取出數據。

(6)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裝入迭代器。

7. java中集合類List和Set集合中的一些方法的具體如何使用和具體分析:

構造方法摘要
ArrayList()
構造一個初始容量為 10 的空列表。
ArrayList(Collection<? extends E> c)
構造一個包含指定 collection 的元素的列表,這些元素是按照該 collection 的迭代器返回它們的順序排列的。
ArrayList(int initialCapacity)
構造一個具有指定初始容量的空列表。
方法摘要
boolean add(E o)
將指定的元素追加到此列表的尾部。
void add(int index, E element)
將指定的元素插入此列表中的指定位置。
boolean addAll(Collection<? extends E> c)
按照指定 Collection 的迭代器所返回的元素順序,將該 Collection 中的所有元素追加到此列表的尾部。
boolean addAll(int index, Collection<? extends E> c)
從指定的位置開始,將指定 Collection 中的所有元素插入到此列表中。
void clear()
移除此列表中的所有元素。
Object clone()
返回此 ArrayList 實例的淺表復制。
boolean contains(Object elem)
如果此列表中包含指定的元素,則返回 true。
void ensureCapacity(int minCapacity)
如有必要,增加此 ArrayList 實例的容量,以確保它至少能夠容納最小容量參數所指定的元素數。
E get(int index)
返回此列表中指定位置上的元素。
int indexOf(Object elem)
搜索給定參數第一次出現的位置,使用 equals 方法進行相等性測試。
boolean isEmpty()
測試此列表中是否沒有元素。
int lastIndexOf(Object elem)
返回指定的對象在列表中最後一次出現的位置索引。
E remove(int index)
移除此列表中指定位置上的元素。
boolean remove(Object o)
從此列表中移除指定元素的單個實例(如果存在),此操作是可選的。
protected void removeRange(int fromIndex, int toIndex)
移除列表中索引在 fromIndex(包括)和 toIndex(不包括)之間的所有元素。
E set(int index, E element)
用指定的元素替代此列表中指定位置上的元素。
int size()
返回此列表中的元素數。
Object[] toArray()
返回一個按照正確的順序包含此列表中所有元素的數組。
<T> T[]
toArray(T[] a)
返回一個按照正確的順序包含此列表中所有元素的數組;返回數組的運行時類型就是指定數組的運行時類型。
void trimToSize()
將此 ArrayList 實例的容量調整為列表的當前大小。

8. java中怎麼往集合類set里添加數據

兩種向Set中添加元素的方法,第一種是使用add()方法,每次添加一個元素到set中,當集合中不存在相同元素時將添加到集合中,並返回true,當集合中存在元素時,返回false。代碼如下:

Set<String> sets = new HashSet<>();
sets.add("String");
System.out.println(sets.add("Tree"));
System.out.println(sets.add("String"));
List<String> lists = new LinkedList<>();
lists.add("test");
lists.add("test");
lists.add("one");
System.out.println(sets.addAll(lists));

還有一個是向集合中批量添加元素的方法addAll(),這個方法的入參是Colletion。上述代碼執行結果如下:

擴展知識

Set集合可以知道某物是否已近存在於集合中,不會存儲重復的元素,注重獨一無二的性質,用於存儲無序(存入和取出的順序不一定相同)元素,值不能重復。可以很好地作為排重時使用的數據結構,但要注意集合內部數據一般情況沒有順序。常用的set有HashSet和TreeSet。

TreeSet是JAVA中集合的一種,TreeSet 是一個有序的集合,它的作用是提供有序的Set集合。它繼承於AbstractSet抽象類,實現了NavigableSet<E>,Cloneable,java.io.Serializable介面。一種基於TreeMap的NavigableSet實現,支持2種排序方式:自然排序或者根據創建TreeSet 時提供的 Comparator 進行排序。

9. python中set()函數的用法

python中set()函數的用法如下:

工具/原料:台式電腦、Win10、Python3.6.5。

1、首先按下「Win+R」組合鍵,打開運行窗口,如下圖所示。

10. java 集合set類中是如何實現數據不能重復的

Set 有個 add 方法是將元素添加到 Set 中,以 HashSet 為例。

publicbooleanadd(Ee){
returnmap.put(e,PRESENT)==null;
}

可以看到,HashSet 底層的數據結構是一個HashMap<E,Object> ,將 e 作為 HashMap 的 key 保存的。而 HashMap 的底層數據結構是 HashTable ,根據 HashMap 的 key 的HashCode 去 HashTable (具體實現是數組+鏈表) 里找到元素的位置。如果同一個對象(使用equals 來比較兩個對象是否相同,具體是比較對象的 hashCode() 是否相同) 往Set 里放,最終放到 HashTable 的位置是相同的。具體判斷Set 是否包含某個對象,調用的是Set的contains(Object o) 方法,它內部也是通過計算 o 的hashCode 去查找該元素是否存在的。

如果題主是新學習Java的同學,建議重點學習一下常用集合的數據結構,對於掌握Java這門語言非常有幫助。

閱讀全文

與set集合中常用方法相關的資料

熱點內容
快速清除很多微信聯系人的方法 瀏覽:89
如何引出論點的方法 瀏覽:638
常用手術器材辨認及使用方法 瀏覽:959
青毛豆怎麼腌制方法 瀏覽:812
w7開機運行設置在哪裡設置方法 瀏覽:361
新買的平板電腦正確的充電方法 瀏覽:88
電纜橋架快速連接方法 瀏覽:781
農村扎發簡單方法 瀏覽:514
彩鋼大棚安裝方法 瀏覽:40
簡述嬰兒心理研究的主要方法 瀏覽:39
測定亞硫酸鹽的常用方法 瀏覽:494
縮陰啞鈴怎樣使用方法 瀏覽:971
快速練好薩克斯的方法 瀏覽:995
切線釣魚的正確方法 瀏覽:475
鐵路工程成本分析方法主要有哪些 瀏覽:289
548除以72的簡便計算方法 瀏覽:373
之大聖歸來畫法最簡單的方法 瀏覽:536
商品品種名稱及命名方法有哪些 瀏覽:443
胸針的使用方法 瀏覽:253
分控開關的安裝方法 瀏覽:701