java集合框架初学 ——List、Set、Map
2017-04-17 19:03
459 查看
List 的用法
一、对比Set和List(不同点)
1、List是以数组为模板,其优点是查找比较方便,缺点是插入删除比较累。而Set是以链表为模板的,优点就是插入删除比较方便,但是要是查找的话,得从链表的头部开始查。
2、List是有序的,而Set是无序的;
3、List的元素允许重复,而Set的元素不允许重复。
二、对比Set和List(相同点)
1、添加元素时,都是 add、撤销元素时都是 remove
2、遍历方式也相同
3、常见实现类都是 Hash 用法。
Set 的用法
、、
、
、
、三、Map
Map接口:
1、Map中的元素都是成对出现的,以键值对映射的形式存储和管理数据。
2、每个对象都有一个唯一的key值,每个key对应一个value ,通过key可以实现对value对象的访问。
3、key和value都为Object对象。
4、Key对象唯一不重复,value对象允许重复。
5、Map接口常用实现类:HashMap,Hashtable。
、
、
Map 的用法
Map 是编号和实例同时访问的一种表,比较方便
Map的遍历方法如下:
遍历所有的key值
遍历所有的value值
遍历所有的entry值
package book; import java.util.*; public class Book { public static void main(Strng[] args){ //用list的常用操作写书类 //创建一个集合实例 List bookMessage = new ArrayList(); //创建成员 String title1 = "书名:《海贼王》\t"+"价格:"+"¥"+10+"\t"+"页数:"+100;//书名 String title2 = "书名:《七龙珠》\t"+"价格:"+"¥"+9+"\t"+"页数:"+80;; String title3 = "书名:《死神》\t"+"价格:"+"¥"+8+"\t"+"页数:"+90;; bookMessage.add(title1); bookMessage.add(title2); bookMessage.add(title3); //遍历数组,Java的特有方法 System.out.println("\n"); int k = bookMessage.size()/2; System.out.print("新店开张,目前只有"+k+"本书\n下面是书单"); for(Object i:bookMessage){//不管集合中的元素是什么类型的, //都是用object代替 //这里的i是元素,不是下标 System.out.println(i); } } }
一、对比Set和List(不同点)
1、List是以数组为模板,其优点是查找比较方便,缺点是插入删除比较累。而Set是以链表为模板的,优点就是插入删除比较方便,但是要是查找的话,得从链表的头部开始查。
2、List是有序的,而Set是无序的;
3、List的元素允许重复,而Set的元素不允许重复。
二、对比Set和List(相同点)
1、添加元素时,都是 add、撤销元素时都是 remove
2、遍历方式也相同
3、常见实现类都是 Hash 用法。
Set 的用法
package SetExe; import java.util.Ha 4000 shSet; import java.util.Set; /** * Created by 92407 on 2017/4/17. */ public class SetExe { public static void main(String[] args) { Set personName = new HashSet(); /**不推荐使用 * * HashSet personName = new HashSet(); * * 的方法,虽然能编译 * 但大神们都是用的第一种方法 * * */ personName.add("tingting"); personName.add("lili"); personName.add("juanjuan"); //遍历 Object[] os = personName.toArray();/**创建的 对象名.toArray*/ for(int i = 0;i<os.length;i++){ System.out.println(os[i]); } } }
、、
、
、
、三、Map
Map接口:
1、Map中的元素都是成对出现的,以键值对映射的形式存储和管理数据。
2、每个对象都有一个唯一的key值,每个key对应一个value ,通过key可以实现对value对象的访问。
3、key和value都为Object对象。
4、Key对象唯一不重复,value对象允许重复。
5、Map接口常用实现类:HashMap,Hashtable。
、
、
Map 的用法
package MapExe; import java.util.HashMap; import java.util.*; /** * Created by 92407 on 2017/4/17. */ public class MapExe { public static void main(String[] args) { //Map 是一个接口,而 HashMap 是一个对象实例 ,可以用来创建一个对象 HashMap personName = new HashMap(); /**不能使用 Map personName = new Map<>(); 的方法 * 因为 Map 是接口,是抽象的,不可被实例化 * */ /** * Map 以接口的形象出现,其都是成对出现的, * 以 # 键值 对 映射 的形式存储和管理数据的 * 每一个对象都有其唯一的 key 值 * 而每一个 key 值,都有唯一一个 value 与其对应 * 既 对象——>key——>value * */ personName.put(1,"zhao"); personName.put(2,"qian"); personName.put(3,"qian"); personName.put(4,"sun"); personName.put(5,"li"); personName.put(6,"zhou"); //遍历 key 的值 Object[] keys = personName.keySet().toArray();//toArray 的意思是把它转化成字符串类型 for(int i = 0;i<keys.length;i++){ System.out.println("Key: "+keys[i]); } System.out.println(); //遍历 value 的值 Object[] values = personName.values().toArray(); for(int i = 0;i<values.length;i++){ System.out.println("value: "+values[i]); } System.out.println(); //遍历所有映射 Object[] entrys = personName.entrySet().toArray(); for(int i = 0;i<entrys.length;i++){ Map.Entry entry = (Map.Entry)entrys[i]; System.out.println(entry.getKey()+":"+entry.getValue()); } System.out.println(); } }
Map 是编号和实例同时访问的一种表,比较方便
Map的遍历方法如下:
遍历所有的key值
Object[] keys = map.keySet().toArray(); for(int i=0;i<keys.length;i++){ System.out.println("key: "+keys[i]);
遍历所有的value值
Object[] values = map.values().toArray(); for(int i=0; i<values.length; i++){ System.out.println("value: "+values[i]); }
遍历所有的entry值
//entry的遍历比较特殊 Object[] entrys = map.entrySet().toArray(); for(int i=0;i<entrys.length;i++){ Map.Entry entry = (Map.Entry)entrys[i]; /**上面的这个entrys已经被定义为Object类型,是所有类的父类,所以在创建实例时,不能直接创建:(子类的对象可以赋值给父类,而父类的对象不能赋值给子类,要是非要赋值,那就强制转换),这儿所加上的(Map.Entry就是强行转换)*/ System.out.println(entry.getKey()+“ : "+entry.getValue()); }
相关文章推荐
- Java集合框架:Set、List、Map等介绍
- Java Collections Framework - Java集合框架List,Map,Set等全面介绍之概要篇
- Java Collections Framework - Java集合框架List,Map,Set等全面介绍之概要篇
- Java Collections Framework - Java集合框架List,Map,Set等全面介绍之概要篇
- java集合框架总结(List、Set、Map)
- java集合框架——详解List、Set、Map
- Java集合框架List,Map,Set等全面介绍
- Java集合框架List,Map,Set等全面介绍
- Java集合框架(List, Set, Map, Collections)
- Java集合框架List,Map,Set等全面介绍
- Java集合框架List、Map、Set特点
- Java集合框架Map、Set、List等全面介绍
- Java集合框架List,Map,Set等全面介绍
- Java集合框架List,Map,Set等全面介绍
- Java集合框架(List, Set, Map, Collections)
- Java集合框架List,Map,Set等全面介绍
- Java集合框架List,Map,Set等全面介绍
- Java集合框架List,Map,Set等全面介绍
- Java集合框架List,Map,Set等全面介绍
- Java集合框架List,Map,Set等全面介绍