框架是为了实现某个目标或者功能预先设计好的一系列具有继承或实现关系的类与接口,使用者可以使用这些类与接口来实现他们希望达成的功能
集合框架中的类与接口都来至于Until包中
一般常用的集合为:
List (中文:列表),这种集合底层是数组;类似于乾坤袋,故而他应该有下标,并且元素在集合中的排雷应该是有序的,就像数组一样,第一个位置放置的元素,第二个位置放置的元素,第三个位置放置的元素…
1、产生对象:
List list=new ArrarList();
List list=new ArrarList<>();
是泛型,是指在这个集合中只能用这个类型,这个类型只能为引用类型,而且只能放这种类型及他的子类,两个<>中的类型一定要一致,
2、增:list.add(object o);
例如:
list.add(“hahah”);
list.add(“hahah”);
list.add(“java”);
list.add(“java”);
3、删:lidt.remove(int index);//删除指定下标的元素
list.remove(object);//删除指定元素
4、改:list.set(index,object);
5、查:(获取指定元素)list.get(index);
在没有用泛型进行限制的情况下,应该用object来接受元素,再用instance来进行判断再来强转
6、获取size:list.siz
7、遍历
1、普通for循环
2、用Iterator(迭代器),遍历集合中元素,但不能控制它的下标(步长(i++))
Iterator it=list.iterator;//先获得该容器的迭代器,
while(it.hasNext()){
object tmp=it.next();//next方法取出下一个元素
system.out.prinln(tmp);
}
3、for-each循环:支持操作集合与数组
for(object tmp:list){
system.out.prinln(tmp);
}
}
ArrayList与LinkedList的区别
1、ArrayList的底层是使用数组实现的,而LinkedList底层是使用双向链表的方式实现的
2、ArrayList适用于做大量的访问元素或修改元素,不同步,线程不安全;LinkedList适用于做大量往中间增加或者删除元素
Set(中文:集)
特点:这个集合存入进去是无序的,不能放重复的数据,最大的特征是没有下标;
判断重复的数据要先判断哈希值在用equals来判断内容是否一致,只有两个判断值为true时才是相同,这有些像判断两个引用类型是否相等,要先判断引用指向相同(位置相同)还要判断内容相同
添加链接描述
1、产生对象:
Set set=new HashSet<>();
2、增:set.add(String str);
3、删 set.remove(object);//删除指定元素,Set没有下标所以不能按下标去取
4、改:不能修改
5、查:(获取指定元素)不能获取
6、获取size:list.siz
7、遍历
1、用Iterator(迭代器),遍历集合中元素,但不能控制它的下标(步长(i++))
Iterator it=set.iterator;//先获得该容器的迭代器,
while(it.hasNext()){
object tmp=it.next();//next方法取出下一个元素
system.out.prinln(tmp);
}
2、for-each循环:支持操作集合与数组
for(object tmp:set){
system.out.prinln(tmp);
}
}
集合Map(中文映射)
特点:集合中的元素是以键值对的形式存在
键值对(K(key)-V(value))
每一个元素放到容器中还要自己顶一个不重复的键值,这相当于自定义一个下标
添加链接描述
常用类 HashMap
1、产生对象
HashMap<K,v.>stuMap=new HashMap<>();
2、增:stuMap.put(k,v);//注意这里用的是put不是add
3、删 stuMap.remove(k,v);//删除指定元素,不存在不会报错
4、改: stuMap.put(k,v);//该仍然用put
5、查:(获取指定元素)
通过k取值,如果k不存在保护会报错会返回null;
例如:studentBean stu=stuMap.get(k);
6、获取size: stuMap.siz
7、遍历--------Map不能成对比遍历只能k与v分开遍历
SetKeyset= stuMap.Keyset();//得到所有的k
collection<>values= stuMap.values();//得到所有的值
//遍历一个map,从中取得key
Map m = new HashMap();
for (Object o : map.keySet()) {
map.get(o);
}
//.遍历一个map,从中取得value
Map map = new HashMap() ;
Iterator it = map.entrySet().iterator() ;
while (it.hasNext())
{
Map.Entry entry = (Map.Entry) it.next() ;
Object key = entry.getKey() ;
Object value = entry.getValue() ;
}
properties是Map集合中的一个实现类
特点:1、按键值对的形势将元素放入容器但键与值都要是字符串;
2、他是一种数化得持久手段,可以将自己存放的内容放置到文件或从文件中读取内容放置到容器中
遍历
Set<String>Keyset= stuMap.Keyset();//set不能加泛型
collection<>values= stuMap.values();