集合框架
一,集合框架
①数组定容具有局限性
②集合数组是一个长度可变的容器
③自定义一个长度可变的数组容器
二,List集合
1,ArrayList
List list1=new ArrayList();//创建
//往里面添加单个元素
list1.add("a");
//将list2中的所有元素加入到list1=中
List list2=new ArrayList();
list1.addAll(list2);
//删除
list1.remove(0);//删除下标为0的元素
list1.clear();//清空
//修改
list1.set(0,"要修改为的值");
//查询
list1.get(1);//根据下表查询
list1.size();//获取元素的个数
list1.contains("a");//判断a是否在list1中,返回为布尔型
list1.indexOf("2");//返回元素2第一次在list1中出现的位置
2,LinkedList
方法跟ArrayList差不多,但是源码运行原理不同,作者为初学者,等到对java有了更深的理解后在去研究,这里就不再多做赘述。
小结
ArrayList:底层是数据结构,它查询的效率高,但是删除和添加的效率低,因为涉及到数据的迁移。 常见方法: add(); size(); indexOf(); contains(); get(); remove(); isEmpty();
LinkedList:底层是双向链表结构,它增加和删除的效率高,但是查询效率低,它也有自己的方法:addFirst() addLast() getFirst() getLast()
三,set集合(无序不重复)
常用的有HashSet和TreeSet
TreeSet可以实现Comparable接口然后排序。
四,map键值对模式
map的key是唯一的,如果key相同,则后者的value覆盖前者的value。
Map map=new HashMap();
//添加
map.put("k1","a");
map.put("k2","b");
map.put("k3","c");
map.put("k4","d");
map.put("k5","e");
//删除,通过指定key的方式删除
map.remove("k1");
map.clear();//清空
//修改
map.replace("k1","z");
//查询
Object O=map.get("k1");//指定key
map.containsKey("k2");
map.containsValue("b");//都是返回布尔值
Set set=map.keySet();//返回map所有的key

浙公网安备 33010602011771号