Java三大类集合中各自的方法、属性,和集合的如何遍历

摘自:http://blog.sina.com.cn/s/blog_531101430100ltpe.html
集合问题三大集合:List集合Set集合Map集合.
A:解决集合问题。
(1)最常用的集合:List、Set、Map
List集合有包括ArrayList集合和Vector集合,它们两者的区别在于ArrayList集合是线程不安全的,而Vector集合是线程安全的,但是在开发中线程安全问题一般能够解决,所以一般都用ArrayList集合而不太用Vector集合,这一点在以前的时候也提到过,List集合一般存数数据量在5000条数据左右。
(2)Set集合时存储顺序给我们呈现一种无序的状态,其实也并非是无序,它是按照Assic码的大小存储数据的。而不是按照数据的大小,所以给我们的感觉就是无序的。
(3)Map集合时开发当中最长用到的集合,我们用的request对象底层就是一个Map集合。而我们所有的集合的底层都是数组的形式。Map集合是一键一值的顺序来进行存储。和requestd对象的setAttribute方法有点像,所以说request对象的底层实际是一个Map集合。
(4)List集合中的方法,和如何来遍历List集合。
定义一个List集合一般这么来定义,前面是一个List对象,而后面对应着List集合中要进行定义的对象,这样方便后期的维护:
           List<String> list = new ArrayList<String>();
//我们简单给这个集合赋值。现在这个集合中有五个值了。
for(int i = 0 ; i < 5 ; i++){
list.add(String.valueOf(i));
}
//add方法时追加的意思,意思是在集合的末尾在追加一个数值。
list.add(2, "a");
//contains方法是看看集合中是否包含这个对象,其中contains里面放入的就是这个对象。
list.contains("a");
//indexOf是查看我要查看的这个对象在集合中从开始数是第几个,索引号是多少,默认从0开始。
list.indexOf("a");
//lastIndexOf是从末尾开始数,它和indexOf的作用是一样的。
list.lastIndexOf("1");
//set方法时插入一个数据,和add方法略有不同,set方法是在指定的位置上插入一个数据。
list.set(2, "a");
//把List集合以字符串的形式输出出来,因为默认List集合默认是以字符串类型进行存储的,所以取数据的时候也可以用字符串形式取得出来。
list.toString();
//这种遍历数组或集合的方式是Java中所特有的,和foreach循环遍历差不多,其含义都一样,前面是数据类型加变量名然后一个:后面是要遍历的数组或集合的名称。
for(String str : list){
System.out.println(str);
}
}
(5)遍历Set集合
Set<String> set = new HashSet<String>();//首先也是先定义一个泛型
//普通的for循环进行遍历即可。
for(int i = 0 ; i < 5 ; i++){
set.add(String.valueOf(i));
}
//或者这么进行遍历
for(String str : set){
System.out.println(str);
}
(6)Map集合如何进行赋值,和Map集合中的方法,以及如何遍历Map集合。
Map map = new HashMap();
 
 
// map.put("name1", new Users(1,"hello"));
map.put("name1", "value1");
map.put("name2", "value2");
map.put("name3", "value3");
 
 
 
 
// map.put("name1", "hello");
 
 
// System.out.println(((Users) map.get("name1")).getId());
 
 
// System.out.println(map.containsKey("name5"));
 
// map.clear();//将Map集合的所有的值都清空。
 
 
// System.out.println(map.isEmpty());
 
 
// Set set = map.keySet();
//
// Iterator iter = set.iterator();//定义一个迭代器进行遍历得到的Map集合中的key的集合。
//用迭代器遍历集合的方法.hasNext()方法。
// while(iter.hasNext())
{
 
//一定先定义一个字符串来接收迭代器遍历出来的数值。
//      String name = iter.next().toString();
//打印出找到的Map集合中的Key值,然后用Map集合中的方法找到这个Key值对应的名称,用get方法进行提取。 System.out.println(name+ map.get(name));
//
// }
//第二种遍历Map集合的方式,借助entry实体对象,Map集合中有几个键值对,就有几个entry实体对象。可以定义一个Set集合的泛型,接收Map集合中所有的键值对,也就是所有的entry实体。
 
Set<Entry> set = map.entrySet();
//对Set集合进行遍历。
for(Entry entry : set){
System.out.println(entry.getKey()+ entry.getValue());
}

posted on 2013-03-19 17:04  青春丶冭柔情  阅读(933)  评论(0编辑  收藏  举报

导航