❶ 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装入迭代器。