您的位置:首页 > 编程语言 > Java开发

java集合体系

2013-11-10 17:05 239 查看
集合:

数学里的概念把若干数据放在一起,看成一个整体;而在面向对象的世界里,为了方便对对象的操作,体现了其如何以哪种方式储存(数据结构),集合是储存对象的 容器!

1、相比与数组:

package com.collection;
import java.util.*;

public class MethodOfMap {

public static void main(String args[])
{
methodOfHashMap();

methodOfTreeMap();

Example();
}

private static void methodOfHashMap() {
Map<Integer,String> m = new HashMap<Integer,String>();
m.put(1, "a");
m.put(2, "a");
m.put(3, "a");
m.put(2, "b");      //

//出map集合中所有元素

Set<Map.Entry<Integer, String>> s1 = m.entrySet();
for(Iterator<Map.Entry<Integer, String>> i = s1.iterator(); i.hasNext(); )
{
Map.Entry<Integer, String> e = i.next();
System.out.println(e.getKey()+" : "+e.getValue());
e.setValue(e.getKey()+""+e.getValue());
//根据键值来修改:
}

System.out.println();

Set<Integer> s2 = m.keySet();
for(Iterator<Integer> i = s2.iterator(); i.hasNext(); )
{
Object k = i.next();
Object v = m.get(k);
System.out.println(k+" : "+v);
}
/*
1 : a
2 : b
3 : a

1 : 1a
2 : 2b
3 : 3a
*/

}
private static void methodOfTreeMap() {
Map<Integer,String> m = new TreeMap<Integer,String>();
m.put(51, "v");
m.put(72, "e");
m.put(33, "l");
m.put(42, "o");
Set<Integer> s = m.keySet();
Iterator<Integer> i = s.iterator();
while(i.hasNext()){
Integer k = i.next();
String v = m.get(k);
System.out.println(k+"-"+v);

}
/*        33-l
42-o
51-v
72-e*/

}
public static void Example()
{    /*
一字符串:String str="1,1,0";
数字使用逗号隔开,统计出每个数字出现的次数。使用map<数字,次数>;*/

String target = "10,16,10,16,17,11,16,10,16,10,17,11,16,13,13,11,16,10";
String s[] = target.split(",");
Map<String ,Integer> m = new HashMap<String ,Integer>();
for(int i = 0 ;i <s.length ;i++)
{
if(m.containsKey(s[i]))
{
m.put(s[i],m.get(s[i])+1);
}
else{
m.put(s[i], 1);
}
}
for(Iterator<Map.Entry<String ,Integer>> i = m.entrySet().iterator() ;i.hasNext();)
{
Map.Entry<String, Integer> me = i.next();
System.out.println(me.getKey()+":"+me.getValue());
/*    10:5
17:2
16:6
13:2
11:3
*/
}
}
}


View Code
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: