JavaOOP-集合框架

1.Java集合框架包含的内容

    Java集合框架为我们提供了一套性能优良,使用方便的接口和类,它们都位于在java.util包中。

    

    Collection 接口存储一组不唯一,无序的对象。

   List 接口存储一组不唯一,有序(插入顺序)的对象。

   Set 接口存储一组唯一,无序的对象 。

   Map接口存储一组键值对象,提供key到value的映射。Map中的key不要求有序,不允许重复。value同样不要求有序,但允许重复。

   Iterator接口是负责定义访问和遍历元素的接口。

2.List接口

   实现List接口的常用类有ArrayList和LinkedList。它们都可以容纳所有类型的对象,包括null,允许重复,并且都保存元素的存储顺序。

   ArrayList实现了长度可变的数组,在内存中分配连续的空间。遍历元素和随机访问元素的效率比较高

     LinkedList采用链表(链表没有下标)存储方式。插入、删除元素时效率比较高

   1.ArrayList集合类

1         ArrayList<String> arrayList=new ArrayList<String>();
2         arrayList.add("美美");
3         arrayList.add("如花");
4         arrayList.add("旺财");
5         //遍历方法
6         for(int i=0;i<arrayList.size();i++){
7             //get() 通过下标拿到集合中的每一项
8             System.out.println(arrayList.get(i));
9         }

   2. ArrayList常用的各种方法 

    

方法名 说明

boolean add(Object o)

在列表的末尾顺序添加元素,起始索引位从0开始

void add(int index,Object o)

在指定的索引位置添加元素。索引位置必须介于0和列表中元素个数之间

int size()

返回列表中的元素个数

Object get(int index)

返回指定索引位置处的元素。取出的元素是Object类型,使用前需要进行强制类型转换

boolean contains(Object o)

判断列表中是否存在指定元素

boolean remove(Object o)

从列表中删除元素

Object remove(int index)

从列表中删除指定位置元素, 起始索引位置从0开始

   3.LinkedList集合类

 1               Person person =new Person();
 2           person.setName("哈哈");
 3           person.setAge(55);
 4           
 5           Person person2 =new Person();
 6           person2.setName("吼吼");
 7           person2.setAge(22);
 8 
 9           LinkedList<Person> linkedList=new LinkedList<Person>();
10           linkedList.add(person);
11           linkedList.addFrist(person2);
12           for (int i = 0; i < linkedList.size(); i++) {
13             System.out.println(linkedList.get(i).getName());
14         }

    4.LinkedList的特殊方法

方法名 说明

void addFirst(Object o)

在列表的首部添加元素

void addLast(Object o)

在列表的末尾添加元素

Object getFirst()

返回列表中的第一个元素

Object getLast()

返回列表中的最后一个元素

Object removeFirst()

删除并返回列表中的第一个元素

Object removeLast()

删除并返回列表中的最后一个元素

   3.Map接口

   1.HashMap集合类

       

 1         Map<String,String> map=new HashMap<String, String>();
 2         map.put("CBC", "中国建设银行");
 3         map.put("ABC", "中国农业银行");
 4         map.put("ICBC", "中国工商银行");
 5            Set<String> set=map.keySet();
 6            //方式1. 利用循环  通过key值拿到valus值
 7         for(String key:set){
 8             System.out.println(key);
 9             //get()方法  
10             System.out.println(map.get(key));
11         }

   2.遍历HashMap的五种方式

 

 1         //方式1. 利用循环  通过key值拿到valus值
 2         for(String key:set){
 3             System.out.println(key);
 4             //get()方法  
 5             System.out.println(map.get(key));
 6         }
 7         System.out.println("=============");
 8         //方式2. 利用循环  直接拿到Key
 9         Collection<String> values = map.values();
10         for(String value:values){
11             System.out.println(value);
12         }
13         System.out.println("====================");
14         //方式3. 利用循环 直接拿到Key 和Value
15         Set<Entry<String, String>> entrySet = map.entrySet();
16         for (Entry<String, String> entry : entrySet) {
17             System.out.println(entry.getKey());
18             System.out.println(entry.getValue());
19         }
20         //方式4. 使用Itertor迭代器 遍历 Key和value
21         System.out.println("========Itertor========");
22         Set<String> keySet = map.keySet();
23         Iterator<String> iterator = keySet.iterator();
24         //循环条件   Itertor是否有下一个元素
25         while (iterator.hasNext()) {
26             //
27             String next = iterator.next();
28             System.out.println(next);
29             System.out.println(map.get(next));
30         }
31         System.out.println("===========5==========");
32         //方式5. 使用迭代器遍历  Key+Value遍历
33         Iterator<Entry<String, String>> iterator2 = map.entrySet().iterator();
34         while(iterator2.hasNext()){
35             Entry<String, String> next = iterator2.next();
36             System.out.println(next.getKey());
37             System.out.println(next.getValue());
38         }

   3.Map的常用方法

方法名 说明

Object put(Object key, Object val)

以“键-值对”的方式进行存储

Object get (Object key)

根据键返回相关联的值,如果不存在指定的键,返回null

Object remove (Object key)

删除由指定的键映射的“键-值对”

int size()

返回元素个数

Set keySet ()

返回键的集合

Collection values ()

返回值的集合

boolean containsKey (Object key)

如果存在由指定的键映射的“键-值对”,返回true

总结

别把工作当负担,与其生气埋怨,不如积极快乐的去面对,当你把工作当作生活和艺术,你就会享受到工作的乐趣。

赵昌平   2018年3月13日21:25:10

原文地址:https://www.cnblogs.com/javahenku/p/8562472.html