集合框架
JCF Java集合框架缩写
集合框架包含三个部分;接口,实现类,算法
List
List 线性元素可重复
List list =new ArrayList();//
.add()往集合里放东西
.grt()查看
.size()获取长度
iterator 集合迭代器
hasNext() 判断迭代器里还有没有元素
next() 获取迭代器中的元素
泛型可以规定集合中只能存放什么类型的元素使用方法在代码定义的时候加 <类型>
集合对象如果定义一个泛型后,如果插入的元素不匹配泛型定义的数据,那么无法通过编译
演示代码
List<String> list1 = new ArrayList<String>(); list1.add("1234"); list1.add("ttt");
Set
set 元素不重复,可选择Set接口的实现类
set实现类,利用hasCode和equals方法,判断集合中的元素是否重复,如希望按照元素属性值去重的话,需要重写hasCode和equals方法
Set接口实现类的常用方法
add(Object) | 向集合中添加元素 |
---|---|
remove(Object) | 将元素从集合中删除 |
size() | 得到集合的长度 |
Set 里hasCode使用方法 因为set的不重复性里面加的tony实际上只有一个 所有长度size为2
public static void main(String[] args) { Set set = new HashSet(); set.add(123); set.add("tony"); set.add("tony"); System.out.println(set); System.out.println(set.size()); }
Map 接口
Map 键值对, 一个元素包含两个对象,键值对像不重复 键对象()key 和值对象()value
map接口中使用泛型,应该对键和值分别定义:
演示代码 : Map<String,student> map;
Map接口中实现类的方法都是对键对象的操作,
put(key,value) | 像集合中添加元素 |
---|---|
get(key) | |
keySet() | |
values() | |
remove(key) | 通过key移除元素,移除完以后key和value都没了 |
cintainsKey(key) |
put(key,value)演示代码
key 要去重的
value不去重
public static void main(String[] args) { Map<String,yuangong> map = new HashMap(); map.put("zhang3",new yuangong("zhang3",33,3333)); // map.put("这里输入的数不能和上面相同,不然上面的值会被覆盖",new yuangong("zhang3",33,3333)); //当普通(K,V)当K不同时在做添加,相同时在做修改 map.put("zhang3",new yuangong("zhang",33,3333)); System.out.println(map.get("zhang3")); System.out.println(map.containsKey("zhang31")); // System.out.println(map.containsKey("效验zhang31是否出现过")); }
.keySet() 和 values()
Map<String,yuangong> map1 = new HashMap(); map1.put("zhang3",new yuangong("zhang",33,3333)); System.out.println(map1.keySet());//.keySet();得到键对象集合,返回Set集合 System.out.println(map1.values());//values();得到值对象集合,返回Coolection集合 Set<String> keyset = map1.keySet(); Collection<yuangong> collection = map1.values(); ffor (String key:keyset){//map集合的遍历 System.out.println(key+"<--键对象 值对象--->" +map1.get(key)); } System.out.println("---------------------------------------------------------------------"); for (yuangong y:collection){ System.out.println(y); }
1.java集合框架各个接口的特点
2.常用集合累的方法
Properties类
Properties是Map集合的实现类,是Hashtable的子类。该类用于处理属性文件。
Properties类可以将Map形式的键/值对数据存在文本文件中。能轻松的完成对属性文件数据的读取,以及将Properties对象中的数据保存在属性文件中。常用作软件的配置文件
Properties类一般用于操作属性文件(文件后缀名为.Properties),在后期一般用于属性文件做项目或者框架的配置
属性文件中,数据都是以键值对形式保存
通过Properties类加载属性文件后,可以通过getProprety(K)获取值,也可以通过getProprety(键,值),去给已知的存在修改值或者新增
通过store将内存中的 Properties 类数据保存在属性文件中