day16集合map里面的(hashtable,hashmap,treemap)的取出方式(keyset和entryset),获取该字符串的字母出现次数

翻译 2016年08月30日 12:20:16
class MapDemo 
{
public static void main(String[] args) 
{
Map<String,String> map=new HashMap<String,String>();
//
map.put("01","zhangsan");
map.put("02","zhangsan");
map.put("03","zhangsan");

System.out.println("containsKey:"+map.containsKey("022"));
//System.out.println("remove:"+map.remove("02"));

System.out.println("get:"+map.get("02"));

map.put(null,"aha");
System.out.println("get:"+map.get(null));
//可以通过get方法的返回值来判断一个键是否存在。通过返回null判断

//获取map集合中所有的值
Collection<String> coll=map.values();
System.out.println(coll);
System.out.println(map);
}

}

-----------------------------------------------

import java.util.*;

class MapDemo1 
{
public static void main(String[] args) 
{
Map<String,String> map=new HashMap<String,String>();

//
map.put("01","zhangsan2");
map.put("04","zhangsan4");
map.put("02","zhangsan3");
map.put("03","zhangsan4");

//先获取map集合所有键的set集合,keySet()
Set<String> keySet=map.keySet();

//有了set集合,就可以获取迭代器
Iterator<String> it=keySet.iterator();

while (it.hasNext())
{
String key=it.next();
//有了键就可以通过map集合的get方法获取其对应的值。
String value=map.get(key);
System.out.println("key:"+key+",value:"+value);
}
}
}

-----------------------------------------

/*
每个学生都对应的归属地
学生student,地址String.
学生属性:姓名,年龄。
注意:,姓名和年龄相同视为同一个学生
保证学生的唯一性

思路:
1,描述学生
2,定义map集合,将学生作为键值,地址为值。存入
3,获取map集合中的元素。
*/
import java.util.*;
class Student implements Comparable<Student>//实现,两个覆盖方法。
{
private String name;
private int age;
Student(String name,int age)
{
this.name=name;
this.age=age;
}
public int compareTo(Student s)
{
int num=new Integer(this.name).compareTo(new Integer(s.name));
if (num==0)
{
return this.name.compareTo(s.name);
}
return num;
}
public int hashCode()
{
return name.hashCode()+age*34;
}
public boolean equals(Object obj)
{
if (!(obj instanceof Student))
{
throw new ClassCastException("类型不匹配");
}
Student s=(Student)obj;


return this.name.equals(s.name)&&this.age==s.age;
}
public String getName()
{
return name;
}
public int getAge()
{
return age;
}
public String toString()
{
return name+":"+age;
}
}

class  MapDemo2
{
public static void main(String[] args) 
{
HashMap<Student,String> hm=new HashMap<Student,String>();
hm.put(new Student("lisi1",21),"beijing");
hm.put(new Student("lisi2",22),"shanghai");
hm.put(new Student("lisi3",23),"nanjing");
hm.put(new Student("lisi4",24),"wuhan");

//第一种取出方式keySet
//先获取map集合所有键的set集合,keySet()
Set<Student> keySet=hm.keySet();

//有了set集合,就可以获取迭代器
Iterator<Student> it=keySet.iterator();

while (it.hasNext())
{
Student stu=it.next();
//有了键就可以通过map集合的get方法获取其对应的值。
String addr=hm.get(stu);
System.out.println("stu:"+stu+",addr:"+addr);
}
//第二种取出方式entrySet
Set<Map.Entry<Student,String>> entrySet=hm.entrySet();

Iterator<Map.Entry<Student,String>> iter=entrySet.iterator();

while (iter.hasNext())
{
Map.Entry<Student,String> me=iter.next();
Student stu=me.getKey();
String addr=me.getValue();
System.out.println("stu:"+stu+"-----,addr:"+addr);
}
}
}

--------------------------------------

/*
sdfgzxcvasdfxcdf获取该字符串的字母出现次数
*/
import java.util.*;

class MapTest 
{
public static void main(String[] args) 
{
String s=CharCount("sdfgzxcvasdfxcdf");
System.out.println(s);
}
public static String CharCount(String str)
{
char[] chs=str.toCharArray();
TreeMap<Character,Integer> tm=new TreeMap<Character,Integer>();

for (int x=0;x<chs.length ;x++ )
{
Integer value=tm.get(chs[x]);
if (value==null)
{
tm.put(chs[x],1);
}
else
{
value=value+1;
tm.put(chs[x],value);
}
}

StringBuilder sb= new StringBuilder();
Set<Map.Entry<Character,Integer>> entrySet=tm.entrySet();
Iterator<Map.Entry<Character,Integer>> it=entrySet.iterator();

while (it.hasNext())
{
Map.Entry<Character,Integer> me=it.next();


Character ch=me.getKey();
Integer value=me.getValue();
sb.append(ch+"("+value+")");
}
return sb.toString();
}
}

相关文章推荐

java Map练习-获取字符串中字母出现次数(TreeMap实现)

/* 练习: "kbashbdjsgfwhofihbfkwejhfiubjzfhaads"获取该字符串中的字母出现次数。 希望打印结果:a(3)b(4)d(2)... 通过结果发现,每一个字母都有...

集合框架——Map的两种取出方式(keySet和entrySet)

/* map集合的两种取出方式: 1,Set keySet:将map中所有的键存入到Set集合。因为set具备迭代器。 所有可以迭代方式取出所有的键,在根据get方法。获取每一个键对应的值。 ...

HashMap的两种取出方式keySet和entrySet

/*HashMap的两种取出方式keySet和entrySet 每一个学生都有对应的归属地。 学生Student,地址String. 学生属性:姓名,年龄。 注意:姓名和年龄相同的视为同一个学生。 保...

Map容器小程序,学生作为key,地址作为value,采用keySet和entrySet两种取出方式

每一个学生都有对应的归属地 学生Student,地址String 学生属性:姓名,年龄 注意:姓名和年龄相同视为同一个学生 保证学生的唯一性 1.描述学生 2.定义Map容器。将学生作为键,地址作...

TreeMap获取该字符串中的每个字母出现的次数

/** * 需求: "sdfgzxcvasdfxcvdf"获取该字符串中的每个字母出现的次数。 * 希望打印结果a(1)c(2).....按照字母自然顺序打印 * * 思路: 1.把字符串...

代码训练营——TreeMap(获取该字符串中的字母出现的次数)

import java.util.*; class MapTest1 { public static void main(String[] args) { String...

JAVA 获取字符串中每一个字母出现的次数 TreeMap 解

初学map集合,ACM 题 用java集合解啊   这道题用数组也完全可以解  ,  我觉得

Java Map集合获取字符串中的字母出现的次数

Java Map集合获取字符串中的字母出现的次数

集合之-map的两种遍历方式(keySet entrySet)

map集合使用两种方式遍历/** * 此文用于演示Map的遍历方式 * 方式一: 通过调用keySet * * 方式二:通过调用entrySet * */ public class It...

TreeMap获取字符串中字母出现次数

需求:”ahg,,djks..bvagav?vftk”获取该字符串中字母出现的次数 希望打印结果:a(3)b(1)d(1)f(1)g(2)h(1)j(1)k(2)s(1)t(1)v(3)通过打印结果...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)