❶ java Map 根據Map的值(value)取鍵(key)
java根據Map的值(value)取鍵(key) 的實現方法有4種,分別為:
(1)使用for循環遍歷
(2)使用Iterator迭代器
(3)使用KeySet迭代
(4)使用EnterySet迭代
下面為以上4種方法具體實現的代碼:
1、使用for循環遍歷
public static Object getKey(HashMap<Object,Object> map, String v) {
String key = "";
for (Map.Entry<String, Object> m :map.entrySet()) {
if (m.getValue().equals(v)) {
key = m.getKey();
}}
return key;
}
❷ Java涓璖et闆嗗悎鎬庢牱鐢╢or閬嶅巻
set鏄瑕佺敤榪浠e櫒璁塊棶銆傝凱浠e櫒濂芥瘮涓涓鎸囧悜鍏冪礌涔嬮棿鐨勬寚閽堬紝姣忕Щ鍔ㄤ竴嬈★紝灝辨寚鍚戜笅涓涓鍏冪礌銆
榪浠e櫒鑻辨枃鍙鍋欼terator銆俿et鏈塱terator鏂規硶錛屼紶緇欒凱浠e櫒瀵硅薄榪涜岃凱浠c
紺轟緥濡備笅錛
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());
}
}
❸ JAVA循環遍歷Map的幾種方法
第一種用for循環
Java代碼
for(Map.Entry<String, String> entry:map.entrySet()){
System.out.println(entry.getKey()+"--->"+entry.getValue());
}
第二種用迭代
Java代碼
Set set = map.entrySet();
Iterator i = set.iterator();
while(i.hasNext()){
Map.Entry<String, String> entry1=(Map.Entry<String, String>)i.next();
System.out.println(entry1.getKey()+"=="+entry1.getValue());
}
用keySet()迭代
Java代碼
Iterator it=map.keySet().iterator();
while(it.hasNext()){
String key;
String value;
key=it.next().toString();
value=map.get(key);
System.out.println(key+"--"+value);
}
用entrySet()迭代
Java代碼
Iterator it=map.entrySet().iterator();
System.out.println( map.entrySet().size());
String key;
String value;
while(it.hasNext()){
Map.Entry entry = (Map.Entry)it.next();
key=entry.getKey().toString();
value=entry.getValue().toString();
System.out.println(key+"===="+value);
}
❹ 鎬庢牱浠巎ava闆嗗悎綾籹et涓鍙栧嚭鏁版嵁錛
鐢ㄥ驚鐜鎴栬呰凱浠e櫒
鍒涘緩set鐨剗terator
Set<Object> set = new HashSet<Object>();
Iterator<Object> it = set.iterator();
while(it.hasNext())//鍒ゆ柇鏄鍚︽湁涓嬩竴涓
it.next()鍙栧嚭鍏冪礌
======================================
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
class ADD{
public String a;
public static void main(String[] args) {
ADD a = new ADD();
a.a = "a";
ADD b = new ADD();
b.a = "b";
Set<ADD> set = new HashSet<ADD>();
set.add(a);
set.add(b);
Iterator<ADD> it = set.iterator();
while(it.hasNext()){
System.out.println(((ADD)it.next()).a);
}
}
}
❺ java set 順序
集(set)是最簡單的一種集合,它的對象不按特定方式排序(不保證集合中元素的順序),只是簡單的把對象加入集合中,就像往口袋裡放東西。集(set)它不允許出現重復元素且允許包含值為null的元素,但最多隻能有一個null元素
列表(list)的主要特徵是其對象以線性方式存儲,沒有特定順序,只有一個開頭和一個結尾,當然,它與根本沒有順序的集是不同的。
Set 和List 都繼承了Conllection
(5)javaset迭代擴展閱讀
一、java中的set介面有如下的特點:
1、不允許出現重復元素;
2、集合中的元素位置無順序;
3、有且只有一個值為null的元素。
二、因為java中的set介面模仿了數學上的set抽象,所以,對應的數學上set的特性為:
1、互異性:一個集合中,任何兩個元素都認為是不相同的,即每個元素只能出現一次。
2、無序性:一個集合中,每個元素的地位都是相同的,元素之間是無序的。集合上可以定義序關系,定義了序關系後,元素之間就可以按照序關系排序。但就集合本身的特性而言,元素之間沒有必然的序。
3、空集的性質:空集是一切集合的子集
Set不保存重復的元素。Set中最常被使用的是測試歸屬性,你可以很容易的詢問某個對象是否在某個Set中。Set具有與Collection完全一樣的介面,因此沒有任何額外的功能。實際上Set就是Collection,只是行為不同。
❻ java 關於set集合遍歷的問題。我列印不出學生信息怎麼辦
set集合遍歷列印不出學生信息,說明方法錯誤。
正確對 set 遍歷,即可實現列印,具體方法如下:
1、迭代遍歷:
Set<String> set = new HashSet<String>();
Iterator<String> it = set.iterator();
while (it.hasNext()) {
String str = it.next();
System.out.println(str);
}
2、for循環遍歷:
for (String str : set) {
System.out.println(str);
}
優點還體現在泛型 假如 set中存放的是Object 。
Set<Object> set = new HashSet<Object>();
for循環遍歷:
for (Object obj: set) {
if(obj instanceof Integer){
int aa= (Integer)obj;
}else if(obj instanceof String){
String aa = (String)obj
}
........
}
❼ Java中Set集合怎樣用for遍歷
增強型的for循環 和普通for循環一樣
增強型的for循環 優點主要體現在集合中,隨便舉個例子
比如對 set 的遍歷
一般是迭代遍歷:
Set<String> set = new HashSet<String>();
Iterator<String> it = set.iterator();
while (it.hasNext()) {
String str = it.next();
System.out.println(str);
}
for循環遍歷:
for (String str : set) {
System.out.println(str);
}
是不是簡單些?
優點還體現在泛型 假如 set中存放的是Object
Set<Object> set = new HashSet<Object>();
for循環遍歷:
for (Object obj: set) {
if(obj instanceof Integer){
int aa= (Integer)obj;
}else if(obj instanceof String){
String aa = (String)obj
}
........
}
唯一的缺點就是 在遍歷 集合過程中,不能對集合本身進行操作
for (String str : set) {
set.remove(str);//錯誤!
}
❽ 怎樣從java集合類set中取出數據
創建set的iterator方法:
Set<Object> set = new HashSet<Object>();
Iterator<Object> it = set.iterator();
while(it.hasNext())//判斷是否有下一個
it.next()取出元素。
以上方法便是從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裝入迭代器。