集合可以看作是一个容器,集合长度可变
- 对于集合中的每一个对象都很容易被放到集合中,也很容易从集合中取出,也可以以一定的顺序排放。
- 不同的集合类有不同的数据存储的方式,并且提供相应地方法对集合进行遍历、添加和修改以及查找指定的对象。
Collection接口
通过代码学习一下简单的集合的应用
Collection<String>list=new ArrayList<>();
list.add("aaaa"); //向几何中添加元素
list.add("bbbb");
list.add("cccc");
java.util.Iterator<String> it=list.iterator(); //
while(it.hasNext())
{
String str =(String)it.next();
System.out.println(str);
}
其中我们可以知道:
- Collection接口是List和Set的“父类”,Map也是一种集合类
- Collection接口的一些方法:
list.add("cccc");//增添元素
list.remove("aaaa");//移走元素
System.out.println(list.isEmpty());//判断是否为空
System.out.println(list.size());//获得集合大小
java.util.Iterator<String> it=list.iterator();//迭代器,用于遍历集合中的对象,常用的方法有next()获得集合下一个对象,hasNext()判断是否有下一个对象
List集合
集合中元素允许重复,元素的顺序就是插入的顺序。
- 两个重要的方法:get(int x)获得x位置的元素 set(int x,Object y)将x位置的对象变成y
- list的两个实现类:ArrayList(访问快,插入删除慢)和LinkedList(访问慢,插入删除块)
- 实现类的初始化:List<E(元素类型)>list=new ArrayList<>() List<E(元素类型)>list=new LinkedList<>()
Set集合
不排序,只把元素放在集合,不能有重复的元素
- 两个实现类:HashSet和TreeSet
- TreeSet的方法:first(),last():返回第一和最后一个元素
- headSet(E):返回新的Set集合,新集合为E对象之前所有的对象
- subSet(a,b):返回新的Set集合,新集合为a,b对象之间所有的对象
- tailSet(E):返回新的Set集合,新集合为E对象之后所有的对象
Map集合
没有继承Collection接口,提供key和value的映射。不能包含相同的key,每个key对应一个value
Map<String, String>map=new HashMap<>();
map.put("001", "陈世豪");
map.put("002", "记不得的桂纶镁");
Set<String>set=map.keySet();
java.util.Iterator<String> it=set.iterator();
- map常用的方法如上面的代码所示,put(设置key和value),keyset()(获得map中的key装进set集合中),values()
- map的实现类有HashMap和TreeMap(不允许元素为null)