集合在java中占很大地位下面介绍下java中的集合类
集合可以看做一个容器,如红色的衣服可以看做是一个集合
,所有java类的书可以看做是一个集合。对于集合中各个
对象很容易将其存放,也容易将其取出,还可以将其按照一定
的顺序摆放。java提供了不同的集合类,这些类具有不同的存储
对象的方式,并提供了相应的方法方便用户对集合进行遍历添加删除
以及查找指定的对象。
在集合类中需要做到的是
掌握集合类接口的常用方法
掌握集合类接口的实现类
掌握迭代器的创建和使用
数组用来存放基本类型数据 集合用来存放对象的引用
常用的集合有List集合Set集合Map集合,其中List与set实现了
collection接口
①List接口继承了Collection接口,因此包含Collection
中的所有方法,又因为List是列表类型,所以List接口还
提供了一些适用于自身的常用方法,
list常用方法 add set remove indexOf
public static void main(String[] args){
String a = "AA",b = "BB",c = "CC",d = "DD",e = "EE",apple = "apple";//定义要插入集合的字符串对象
List<String>list = new LinkedList<>(); //创建List集合
list.add(a);
list.add(e);
list.add(d);
Iterator<String> iterator = list.iterator(); //创建集合的迭代器
System.out.println(list);
System.out.println("修改前元素的集合是");
while(iterator.hasNext()){
System.out.print(iterator.next()+" ");
}
list.set(1, b);
list.add(2,c);
Iterator<String> it = list.iterator();
System.out.println("修改后元素的集合是");
while(it.hasNext()){
System.out.print(it.next()+" ");
}
}
@Test
public void testList(){
String a = "AA",b = "BB",c = "CC",d = "DD",apple = "apple";
List<String> list = new ArrayList<String>();
list.add(a);
list.add(apple);
list.add(b);
list.add(apple);
list.add(c);
list.add(apple);
list.add(d);
Iterator<String> it = list.iterator();
while(it.hasNext()){
System.out.print(it.next()+" ");
}
// System.out.println(list);
System.out.println();
System.out.println("apple第一次出现的索引位置是"+list.indexOf(apple));
System.out.println("apple最后一次出现的索引位置是"+list.lastIndexOf(apple));
System.out.println("b第一次出现的位置是"+list.indexOf("BB"));
System.out.println("b最后一次出现的位置是"+list.lastIndexOf("BB"));
}
接口,因此包含了Collection接口的所有方法。
由于Set集合中不允许存在重复值,因此可以使用Set集合中的
addAll()方法,将Collection集合添加到Set集合中并且除掉
重复值.
//运用Junit测试集合类Set
/*
* 创建一个List对象,并且向List添加元素利用set addAll()方法去重最后打印Set集合元素
*/
@Test
public void testSet(){
List<String> list = new ArrayList<String>();
list.add("AA");
list.add("BB");
list.add("CC");
list.add("BB");
System.out.println(list); //打印下list
Set<String> set = new HashSet<String>();
set.addAll(list); //将List集合添加到Set集合中
Iterator<String> it = set.iterator(); //创建Set集合迭代器
while(it.hasNext()){
System.out.print(it.next()+" "); //用迭代器输出Set集合
}
}
③Map接口提供了将键值映射到值得对象,一个映射不能包含
重复的键;每个键最多能映射到一个值,Map接口中同样提供
了集合的常用方法如size(),clear()等
//Map接口的常用方法
//向一个Map集合中插入元素并根据key值打印出集合中的元素
@Test
public void testMap(){
Map<String,String> map = new HashMap<String,String>(); //创建Map集合
map.put("1", "刘青云");
map.put("2", "刘德华");
map.put("3", "刘建芳");
for(String m: map.keySet()){
System.out.println("map里面的value的值是"+map.get(m));
}
}