java中的集合框架

xiaoxiao2021-02-28  48

java集合框架包含的内容:

  java集合框架提供了一套性能优良/使用方便的接口和类,他们位于java . util包中

        

        

        

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

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

        例:

            

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

        例:

              

        Map:

        Map接口存储一组键值对象,提供key到value的映射

List接口的实现类?

        

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

        

        linkedList采用链表存储方式。插入/删除元素时效率比较高

        

List接口常用方法:

    

LinkedList常用方法:

    

使用ArrayList?

        1.声明集合

                List  list=new ArrayList();

        2.添加信息

                Dog dog=new Dog();

                list.add(Object对象);       

        3for.遍历信息

                for(int i=0; i<list.size(); i++){

                    Dog dog=(Dog)list.get(i);//这里是Object类型,所以需要强转

                    dog.print();//输出信息

                }

        3.1foreach遍历信息

                for(Object object : list){

                    ((Dog)object).print();

                }

                list.size();表示长度

                使用 list.get(索引);拿值

        4.删除方式

            list.remove(0);//删除索引号为0的对象

            list.remove(Dog1);按照指定的对象名删除

        5.判断对象是否存在

            if(list.contains(Dog1))

注:获取第一条对象信息:(Dog)list.getFirst(); 获取最后一条信息 (Dog)list.getLast();

ArrayList代码演示:

package Text; import java.util.List; import java.util.ArrayList; public class Text02 { public static void main(String[] args) { //创建ArrayList集合 List list=new ArrayList(); //添加元素 list.add("测试A"); list.add("测试B"); //插入指定位置--注意插入的位置不能大于集合的已有的集合数 list.add(1,"测试C"); //循环遍历信息 for (int i = 0; i < list.size(); i++) { System.out.println(list.get(i)); } } }

使用LinkedList代码演示:

package Text; import java.util.LinkedList; import java.util.List; public class Text03 { public static void main(String[] args) { //创建 LinkedList单列集合集合 LinkedList list=new LinkedList(); //添加元素 list.add("测试A"); //指定位置添加 list.add(0,"测试B"); //向集合第一位添加 list.addFirst("测试C"); //向集合最后一位添加 list.addFirst("测试D"); //获取第一位元素 System.out.println(list.getFirst()); //获取最后一位元素 System.out.println(list.getLast()); //删除第一位元素 list.removeFirst(); //删除最后一位元素 list.removeFirst(); } }

Map接口?

            Map接口专门处理键值映射数据的存储,可以根据键实现对值的操作最常用的实现类是HashMap

            1.声明Map接口下的类

                Map coutres=new HashMap();

            2.添加put(Object key键名 , Object value值)

                coutres.put("CN","中华人名共和国");

                coutres.put("RU","俄罗斯联邦");

                coutres.put("FR","法兰西共和国");

            3.通过key获取值

               String text = coutres.get("CN");

            4.显示集合中的个数

                coutres.size();

            5.两次判断Map接口中是否存在FR键名

                boolean bo= coutres.containsKey("FR");

                Map接口中是否存在FRvalue值

                boolean bo1=coutres.containsValue("中华人名共和国");

            6.删除集合对象

                coutres.remove("FR");//只能通过键名删除

            7.分别显示键集,值集,键值集合

                System.out.println(coutres.KeySet());

                System.out.println(coutres.values);

                System.out.println(coutres.coutres);

                            

            8.foreach遍历

                for(Object obj : coutres.KeySet()){

                    System.out.print((String)obj);

                }

              for(Object obj : coutres.values()){

                    System.out.print((String)obj);

                }

            9.清空HashMap判断

                coutres . clear();

                if(coutres.isEmpty()){System.out.println("已将所有Map接口清空")}

Map--HashMap集合代码演示如下:

package Text; import java.util.*; import java.util.Map.Entry; /** * 有关Map键值对集合 *<p>Title:Text01</p> *<p>Description:</p> *<p>Company:</p> * @author MLQ * @date 2018年3月10日 上午11:04:59 */ public class Text01 { public static void main(String[] args) { Map<String,String> map=new HashMap<String,String>(); map.put("1", "测试"); System.out.println("===========第一种方式==============="); //通过Keys键获取values Set<String> keySet2 = map.keySet(); for (String string : keySet2) { System.out.println(string); System.out.println(map.get(string)); } System.out.println("===========第二种方式==============="); //直接获取values Collection<String> values = map.values(); for (String string : values) { System.out.println(string); } System.out.println("===========第三种方式==============="); //获取kye和value Set<Entry<String, String>> entrySet = map.entrySet(); for (Entry<String, String> entry : entrySet) { System.out.println(entry.getKey()); System.out.println(entry.getValue()); } System.out.println("===========第四种方式==============="); //使用迭代器方式 Set<String> keySet = map.keySet(); Iterator<String> iterator = keySet.iterator(); //判断是否有下一个元素 while(iterator.hasNext()) { String keys=iterator.next(); System.out.println(map.get(keys)); } System.out.println("===========第五种方式==============="); //使用迭代器获取key 和 value Iterator<Entry<String, String>> iterator2 = map.entrySet().iterator(); while(iterator2.hasNext()) { Entry<String, String> next = iterator2.next(); System.out.println(next.getKey()); System.out.println(next.getValue()); } } }

        

            

            

        

转载请注明原文地址: https://www.6miu.com/read-2622991.html

最新回复(0)