蓝桥杯复习,常用的数据结构和方法

HashSet的使用

/**
		 * 	HashSet内的元素是唯一的(是无序的)
		 * 	存入顺序和取出顺序是不一致的
		 * 	不会对元素进行排序
		 */
		//创建对像
		HashSet<String> hashSet=new HashSet<String>();
		hashSet.add("qwe");
		hashSet.add("qwe");
		hashSet.add("ab");
		hashSet.add("aa");
		hashSet.add("c");
		//返回大小
		int size = hashSet.size();
		//是否为空
		boolean empty = hashSet.isEmpty();
		//如果存在,则从该集合中删除指定的元素。
		boolean remove = hashSet.remove("b");//删除了为true
		//是否包含元素
		boolean contains = hashSet.contains("aa");
		//遍历元素
		Iterator<String> iterator = hashSet.iterator();
		while (iterator.hasNext()) {
			String next = iterator.next();
			System.out.println(next);
		}
		//返回数组
		Object[] array = hashSet.toArray();
		String[] strArr=(String[])array;//强制转换

HashMap的使用

/**
		 * 	存入元素和取出元素的顺序是一致的
		 * 	键是唯一的
		 * HashMap
		 * 	不会对元素进行排序
		 */
		//创建对象
		HashMap<String, Integer> hashMap=new HashMap<String, Integer>();
		//添加元素
		hashMap.put("cc", 234);
		hashMap.put("qwe", 123);
		hashMap.put("aa", 123);
		hashMap.put("qwe", 234);
		hashMap.put("bb", 234);
		//返回大小
		int size2 = hashMap.size();
		//是否包含键
		boolean containsKey = hashMap.containsKey("aa");
		//是否包含值
		boolean containsValue = hashMap.containsValue(123);
		//是否为空
		boolean empty2 = hashMap.isEmpty();
		//根据键获取值
		Integer integer = hashMap.get("aa");
		//根据键删除值
		Integer remove2 = hashMap.remove("qwe");
		//键和值一直时才删除
		boolean remove3 = hashMap.remove("key", 123);//true表示成功
		//遍历
		Set<Entry<String,Integer>> entrySet = hashMap.entrySet();//entry就是键值对
		Iterator<Entry<String, Integer>> iterator2 = entrySet.iterator();
		while (iterator2.hasNext()) {//遍历迭代器
			Entry<String, Integer> next = iterator2.next();
			String key = next.getKey();//获取键
			Integer value = next.getValue();//获取值
			System.out.println("key="+key+",value="+value);
		}
		//返回键的集合
		Set<String> keySet = hashMap.keySet();//也是通过迭代器遍历
		//返回值的集合
		Collection<Integer> values = hashMap.values();//也是通过迭代器遍历
		Iterator<Integer> iterator3 = values.iterator();

TreeSet的使用

/**
		 * 	TreeSet
		 * 	元素是唯一的
		 * 	会对元素进行排序
		 * 	
		 */
		//创建对象
		TreeSet<Integer> treeSet=new TreeSet<Integer>();
		treeSet.add(3);
		treeSet.add(4);
		treeSet.add(1);
		//返回大小
		int size3 = treeSet.size();
		//返回第一个元素(最小的)
		Integer first = treeSet.first();
		//返回第一个元素并删除
		Integer pollFirst = treeSet.pollFirst();
		//返回最后一个元素
		Integer last = treeSet.last();
		//返回最后一个元素并删除
		Integer pollLast = treeSet.pollLast();
		//遍历
		Iterator<Integer> iterator4 = treeSet.iterator();//使用迭代器进行遍历,升序

TreeMap

/**
		 * 	TreeMap
		 * 	键值是唯一的
		 * 	会对元素进行排序
		 * 	
		 */
		//创建对象
		TreeMap<String, Integer> treeMap=new TreeMap<String, Integer>();
		treeMap.put("qwe", 123);
		treeMap.put("bb", 1);
		treeMap.put("cc", 2);
		treeMap.put("aa", 123);
		//返回大小
		int size4 = treeMap.size();
		//是否包含键
		boolean containsKey2 = treeMap.containsKey("key");
		//是否包含值
		boolean containsValue2 = treeMap.containsValue(123);
		//是否为空
		treeMap.isEmpty();
		//根据键删除	返回对应的值 没有返回null
		Integer remove4 = treeMap.remove("cc");
		//返回第一个键值对(键最小的)
		Entry<String, Integer> firstEntry = treeMap.firstEntry();
		//返回最后一个键值对(键最大的)
		treeMap.lastEntry();
		//返回并删除第一个键值对
		treeMap.pollFirstEntry();
		//返回并删除最后一个键值对
		treeMap.lastEntry();
		//遍历
		Set<Entry<String,Integer>> entrySet2 = treeMap.entrySet();
		Set<String> keySet2 = treeMap.keySet();
		Collection<Integer> values2 = treeMap.values();

ArrayList

/**
		 * 	ArrayList
		 * 	列表
		 * 	插入和取出的顺序是一致的
		 */
		//创建对象
		ArrayList<String> arrayList=new ArrayList<String>();
		//将指定的元素追加到此列表的末尾。
		arrayList.add("qwe");
		arrayList.add("qwe");
		arrayList.add("qwe");
		arrayList.add("aa");
		//在此列表中的指定位置插入指定的元素。
		arrayList.add(0, "aa");
		//返回此列表中指定元素的第一次出现的索引,如果此列表不包含元素,则返回-1。
		arrayList.indexOf("qwe");
		//是否为空
		boolean empty3 = arrayList.isEmpty();
		//是否包含指定的元素
		boolean contains2 = arrayList.contains("qwe");
		//返回此列表中指定元素的最后一次出现的索引,如果此列表不包含元素,则返回-1。 
		arrayList.lastIndexOf("qwe");
		//删除指定位置的元素
		String remove5 = arrayList.remove(0);
		//删除元素obj,返回是否成功
		boolean remove6 = arrayList.remove("obj");
		//以正确的顺序(从第一个到最后一个元素)返回一个包含此列表中所有元素的数组。 
		Object[] array = arrayList.toArray();

String

string的使用

队列queue
队列的家谱
在这里插入图片描述
在这里插入图片描述

方法
在这里插入图片描述

/**
		 * 	Queue
		 * 	队列
		 * 	队列是先进先出的
		 * 	先进入队列的元素,会选出来 
		 */
		
		Queue<Integer> queue= new LinkedList<>();
		//添加
		queue.add(1);
		queue.add(2);
		queue.add(3);
		//查看队列头元素
		Integer peek = queue.peek();
		//删除队列头元素并返回
		Integer poll = queue.poll();

栈Stack
栈的家谱
在这里插入图片描述
方法
在这里插入图片描述

/**
		 * 	Stack
		 * 	栈
		 * 	栈是先进后出的
		 */
		//创建栈对象
		Stack<Integer> stack=new Stack<>();
		//是否为空
		stack.empty();
		//添加 入栈
		stack.push(1);
		stack.push(2);
		stack.push(3);
		//查看栈顶元素不删除
		Integer peek2 = stack.peek();
		//查看栈顶元素删除
		Integer pop = stack.pop();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值