集合操作(list,set,map)

1.list(arrylist,linklist)

list有序可大量重复

arrylist:数组,适合做查询,最常用

linklist:链表,适合做插入,删除

  ArrayList<String> strlist = new ArrayList<String>();
 
       strlist.add("王昭君");
       strlist.add("西施");
       strlist.add("杨玉环");
       strlist.add("米莱迪");
      //打印个数
       System.out.println(strlist);
       strlist.remove("米莱迪");
       //查看是否去除
       System.out.println(strlist);
       //查看集合数量
       System.out.println(strlist.size());
       //获取列表中元素,根据数组下标
       System.out.println(strlist.get(2));
       //判断集合中是否存在元素
       System.out.println(strlist.contains("王昭君"));

运行结果(arraylist和linklist的操作基本一致)

遍历list集合,采用for循环的方法

 for(int i =0;i<strlist.size();i++) {
    	  System.out.println(strlist.get(i)); 
       }

2.Set集合

set:无顺序添加,不可重复

方法与list基本一致,就不演示了

3.Map

treemap(排序)和hashmap(不排序)

是以key和value形式存储的键值对集合

HashMap<String, Object> hashmap = new HashMap<String, Object>();
	
	hashmap.put("1", "凯");
	hashmap.put("2", "卢布");
	hashmap.put("3", "炸弹猫");
	hashmap.put("4", "东方曜");
	hashmap.put("5", "孙悟空");
	//打印查看集合中元素
	System.out.println(hashmap);
	
	hashmap.remove("2");
	//打印查看集合中元素是否删除
	System.out.println(hashmap);
	
	//打印查看集合中元素个数
	System.out.println(hashmap.size());
	
	//打印查看集合中元素是否存在
	System.out.println(hashmap.containsKey("2"));
	System.out.println(hashmap.containsValue("炸弹猫"));
	
	//出现相同key,之前集合中元素会被覆盖
	hashmap.put("2", "吕德华");
	System.out.println(hashmap);
	
	//通过get(key)查询value值
	System.out.println(hashmap.get("2"));
	
	//通过keySet将map中所有key打包成set集合返回
	Set<String> keySet = hashmap.keySet();
	System.out.println(keySet);
	

运行结果:

容器练习题

public static void main(String[] args) {
		
		ArrayList<String> list = new ArrayList<String>();
		list.add("小明");
		list.add("小红");
		list.add("小刚");
		list.add("小勇");
		
		Scanner scanner = new Scanner(System.in);
		System.out.println("请输入过滤的语句:");
		String nextLine = scanner.nextLine();
		
		for(int i = 0;i<list.size();i++) {
			//拿到敏感词
			String string = list.get(i);
			if(nextLine.contains(string)) {
				String s = "";
				
				for(int j = 0;j<string.length();j++) {
					s=s+"*";
				}
				nextLine=nextLine.replace(string,s);
			}
			
		}
		
	      System.out.println(nextLine);
	}

4.迭代器(while很重要)

注意:Set调用迭代器直接调用,Map调用迭代器先用keySet将键打包成数组,再调用迭代器

	HashMap<String, Object> hashMap = new HashMap<String,Object>();
		
		hashMap.put("1", "反码");
		hashMap.put("2", "主码");
		hashMap.put("3", "ascll码");
		hashMap.put("4", "条形码");
		
		Set<String> keySet = hashMap.keySet();
		
		java.util.Iterator<String> iterator = keySet.iterator();
	        
		while(iterator.hasNext()) {
			String key = iterator.next();
			System.out.println(hashMap.get(key));
		}


/*运行结果:反码
           主码
           ascll码
           条形码*/

迭代器迭代方式二:entry

迭代器还可以放对象:

增强for循环

语法:

for(类型 空格 变量:数组或集合){

}

解释:将数组或者集合赋值给变量,让变量进行遍历

ArrayList<String>list = new ArrayList<String>();
		
		list.add("1");
		list.add("2");
		list.add("3");
		list.add("4");
		list.add("5");
		
		for(String str:list) {
			System.out.print(str+" ");
		}

        //1 2 3 4 5 

Collections常用方法(接口)

ArrayList<Integer> list = new ArrayList<Integer>();
		
		list.add(66);
		list.add(345);
		list.add(988);
		list.add(123);
		
		//最小值
		System.out.println(Collections.min(list));
		//最大值
		System.out.println(Collections.max(list));
	
		//排序
        Collections.sort(list);
        System.out.println(list);
        
        //打乱顺序
        Collections.shuffle(list);
        System.out.println(list);
	}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值