博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAVA基础学习之 Map集合、集合框架工具类Collections,Arrays、可变参数、List和Set集合框架什么时候使用等(4)...
阅读量:4583 次
发布时间:2019-06-09

本文共 3754 字,大约阅读时间需要 12 分钟。

package com.itcast.test20140113;import java.util.ArrayList;import java.util.Arrays;import java.util.Collections;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.Map.Entry;import java.util.Set;public class MainDemo {    public static void main(String[] args) {        // Map集合使用        //MapUser();        /*         * 泛型 运行时,会将泛型去掉,生成的class文件中是不带泛型的,这个称为泛型的擦除 为什么擦除呢?是为了兼容运行的类加载器。 泛型限定 ?         * extends E 接收E类型或者E的子类型对象。上限,存储元素的时候使用上限 ? super E         * 接收E类型或者E的父类型。下限,获取元素的时候使用下限 public void printCollection(Collection
collection) 通配符 public void * printCollection(Collection
collection) */ // 集合框架工具类使用 CollectionUtilUser(); /* * Arrays.toString(array);//数组toString[2,3,4] */ List
stooges = Arrays.asList("Larry", "Moe", "Curly"); System.out.println(stooges);// [Larry, Moe, Curly] /* * 如果数组中的元素是对象,那么转成集合时,直接将 数组中的元素 作为集合中的元素存储 * 如果数组中的元素是基本类型数组,那么会将该 数组 作为集合中的元素进行存储 */ int[] array = { 1, 3, 4 }; List
list = Arrays.asList(array);//将数组进行集合存储 System.out.println(list);// [[I@4aa0b07b] Integer [] array1 = { 1, 3, 4 }; List
integers = Arrays.asList(array1);//将数组中的元素进行集合存储 System.out.println(integers);// [1, 3, 4] Integer [] integers2 = integers.toArray(new Integer[integers.size()]);//集合转换为数组 System.out.println(Arrays.toString(integers2)); //可变参数// public static String Params(int... params){// return Arrays.toString(params);// }// System.out.println(Params(1,2,3));//int... 就是int[] } /** * 集合框架工具类使用 */ public static void CollectionUtilUser() { /* * Collections.sort(list);排序 * Collections.sort(list,CompareByStringLength);自定义对象 实现Comparator接口进行比较 * Collections.binarySearch(list, key)//折半查找,要先排序,然后再查询,查询list集合中值为key的索引,找不到返回负数 * Collections.max(list);//集合中最大值 * Collections.reverse(list);//反转集合 * Collections.replaceAll(list, oldVal, newVal); * Collections.shuffle(list);//随机集合中的元素顺序 * Collections.synchronizedCollection(collection);将非同步集合转为同步集合 * Collections.synchronizedList(list); * Collections.synchronizedMap(m); * Collections.synchronizedSet(s); */ } /** * Map集合使用 */ public static void MapUser() { /* * Map集合中存储的就是键值对 常用方法: value * put(key,value)存储value,返回前一个和key关联的值,如果没有相同的key,返回null void clear() * value remove(key) boolean containsKey(key) boolean * containsValue(value) boolean isEmpty() value * get(key)通过键获取值,如果没有改键,返回null int size() */ /* * 根据键获取值 */ Map
map = new HashMap
(); map.put(1, "a"); map.put(2, "b"); map.put(3, "c"); // 第一种方式 Set
set = map.keySet(); // Collection
collection = map.values(); for (Integer integer : set) { System.out.println(integer + ":" + map.get(integer)); } // 第二种方式 Set
> entrySet = map.entrySet(); for (Entry
entry : entrySet) { System.out.println(entry.getKey() + ":" + entry.getValue()); } /* * Map常用的子类: Hashtable:内部结构是哈希表,是同步的,不允许null作为键,null作为值 * HashMap:内部结构是哈希表,不是同步的,允许null作为键,null作为值。 * TreeMap:内部结构是二叉树,不是同步的,可以对Map集合中的键进行排序 * HashMap的子类LinkedHashMap:存的时候和取得元素的位置顺序相同 */ /* * List和Set集合框架什么时候使用 * 如果需要唯一:Set * 需要指定顺序:TreeSet * 但是想要一个和存储一致的顺序:LinkedHashSet * 不需要: HashSet * 不需要: List * 需要频繁增删:LinkedList * 不需要:ArrayList */ }}

 

转载于:https://www.cnblogs.com/yxlblogs/p/3525752.html

你可能感兴趣的文章
2、文件夹
查看>>
排序精讲
查看>>
【bzoj3172】 Tjoi2013—单词
查看>>
【uoj2】 NOI2014—起床困难综合症
查看>>
js return的用法
查看>>
子节点填充父元素除去一固定高度后的剩余高度
查看>>
[原]IOS 后台发送邮件
查看>>
(转)JAVA Calendar详解
查看>>
转: 编码,charset,乱码,unicode,utf-8与net简单释义
查看>>
C#--正则匹配
查看>>
5.30 考试修改+总结
查看>>
BA-设计施工调试流程
查看>>
C#-CLR各版本特点
查看>>
css3背景透明文字不透明
查看>>
《java JDK7 学习笔记》之接口与多态
查看>>
android的用户定位(一)
查看>>
设计模式-结构型模式,外观模式(6)
查看>>
[Java] 遍历HashMap和HashMap转换成List的两种方式
查看>>
mongodb
查看>>
LeetCode 46. Permutations
查看>>