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());

}