JAVA集合中常见的List和Map用法

一、集合的由来

  通常,我们的Java程序需要根据程序运行时才知道创建了多少个对象。但若非程序运行,程序开发阶段,我们根本不知道到底需要多少个数量的对象,甚至不知道它的准确类型。为了满足这些常规的编程需要,我们要求能在任何时候,任何地点创建任意数量的对象,而这些对象用什么来容纳呢?我们首先想到了数组,但是!数组只能存放同一类型的数据,而且其长度是固定的,那怎么办了?集合便应运而生了。

data = new int[3]; /*创建了一个int类型长度为3的数组*/
data[0] = 10; // 第一个元素
data[1] = 20; // 第二个元素
data[2] = 30; // 第三个元素
for(int x = 0; x < data.length; x++) {
	System.out.println(data[x]); //通过循环输出数组
  }

二、集合是什么?

  是一个用来存放对象的容器。可以存储任何类型的数据,也可以结合泛型来存储具体的类型对象。在程序运行时,Java集合可以动态的进行扩展,随着元素的增加而扩大。在Java中,集合类通常存在于java.util包中。

三、集合框架体系系图

四、list中ArraryList

       ArrayList是基于动态数组的数据结构。

五、List中ArrayList常用方法

  Boolean add( Object element)  // 顺序添加一个元素
  void add(int index, Object element) // 添加对象element到位置index上 ;
  get(int index)   //获取下标为index的位置的元素
  int indexOf(Object element) // 获取 element第一次出现的位置
  int lastIndexOf(Object element) //获取在List中最后出现的位置  
  remove(int index)  ://删除index位置上的元素 
  int size()   //集合中元素个数

//1.初始化一个list   
List<String> cdlist=new ArrayList<>();
//2.向list中添加几道菜名;
//Boolean add( Object element)   
Boolean b1=cdlist.add("红烧肉");
System.out.println("添加一道菜结果:"+b1);
//void add(int index, Object element)  添加对象element到位置index上 ;注意:index必须小于当前数组中的元素个数
cdlist.add(1,"椒盐虾");
cdlist.add(2,"小蘑菇炖鸡");
cdlist.add(3,"东坡肘子");
cdlist.set(1,"椒盐虾2");
System.out.println("list:"+cdlist);
//3.get(int index)  取出下标为index的位置的元素
//System.out.println(cdlist.get(5)); 
//会造成数组下标越界异常:Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 5, Size: 3
System.out.println(cdlist.get(1)); 
//4.int indexOf(Object element) :查找对象element 在List中第一次出现的位置;注意:list下标是是从0开始;
int num=cdlist.indexOf("小蘑菇炖鸡");
System.out.println("第一个小蘑菇炖鸡排在第:"+(num+1)); 
 //5.int lastIndexOf(Object element) :查找对象element 在List中最后出现的位置  
cdlist.add("小蘑菇炖鸡");
cdlist.add("小蘑菇炖鸡");
System.out.println("最新list:"+cdlist);
System.out.println("最后一个小蘑菇炖鸡排在第:"+(cdlist.lastIndexOf("小蘑菇炖鸡")+1));
//6.remove(int index) :删除index位置上的元素 
 cdlist.remove(0);
System.out.println("最新list:"+cdlist);
//7. void clear() 清空;
//cdlist.clear();
System.out.println("最新list:"+cdlist);
 //8.int size() 元素个数
System.out.println("元素个数"+cdlist.size());
//循环遍历list
 for(int i=0;i<cdlist.size();i++) {
	System.out.println("第"+i+"个菜品名称是:"+cdlist.get(i));
 }
 //增强for循环遍历list
 for(String Name:cdlist) {
	System.out.println(Name);
 }

五、Map 中HashMap

Map 提供了一个更通用的元素存储方法。Map 集合类用于存储元素对(称作“键”和“值”),其中每个键映射到一个值。从概念上而言,您可以将 List 看作是具有数值键的 Map。而实际上,除了 List 和 Map 都在定义 java.util 中外

六、Map的常用用法

clear()从 Map 中删除所有映射
remove(Object key)从 Map 中删除键和关联的值
put(Object key, Object value)将指定值与指定键相关联
putAll(Map t)将指定 Map 中的所有映射复制到此 map
get(Object key)从map中获取键为key的值
//实例化一个HashMap
Map<String,Object> cdMap=new HashMap<>();
cdMap.put("当季时蔬","炝炒莲白");
cdMap.put("当季时蔬","干煸四季豆");
cdMap.put("折扣酒水","红星二锅头");
   // System.out.println(cdMap);
//get(Object key)	从map中获取键为key的值
System.out.println(cdMap.get("折扣酒水"));
//remove(Object key)	从 Map 中删除键和关联的值
cdMap.remove("折扣酒水");
System.out.println(cdMap);
//putAll(Map t)	将指定 Map 中的所有映射复制到此 map
Map  tempMap=new HashMap<>();
tempMap.put("夏季菜单", cdMap);
System.out.println(tempMap);

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值