\\一个普通的长度为1的整数数组
Integer[] arr= new Integer[1];
\\一个普通长度为1的同时元素初始化为1的整数数组。
Integer[] arr= new Integer[]{1};
\\一个长度为0的空数组
Integer[] arr= new Integer[0];
void clear( )
从此映射中移除所有映射关系(可选操作)。
boolean containsKey(Object k)
如果此映射包含指定键的映射关系,则返回 true。
boolean containsValue(Object v)
如果此映射将一个或多个键映射到指定值,则返回 true。
Object get(Object k)
返回指定键所映射的值;如果此映射不包含该键的映射关系,则返回 null。
boolean isEmpty( )
如果此映射未包含键-值映射关系,则返回 true。
Object put(Object k, Object v)
将指定的值与此映射中的指定键关联(可选操作)。
Object remove(Object k)
如果存在一个键的映射关系,则将其从此映射中移除(可选操作)。
int size( )
返回此映射中的键-值映射关系数。
getOrDefault(Object key, V defaultValue)
返回指定 key 对应对 value,如果找不到 key ,则返回设置的默认值。
所以注意默认值不可以是接口,他需要是个可以实例化的类。
譬如不可以是map.getOrDefault(str,new List
而一定要是map.getOrDefault(str,new ArrayList
因为List<>()是一个接口,不可以被实例化。而ArrayList可以被实例化。
import java.util.Map;
\\创建一个含有1-2对应映射关系的Map
Map<Integer,Integer>map = Map.of(1,2);
HashMap 实现了 Map 接口,根据键的 HashCode 值存储数据,具有很快的访问速度,最多允许一条记录的键为 null,不支持线程同步。
HashMap 是无序的,即不会记录插入的顺序。
import java.util.HashMap;
\\定义一个有一个元素的HashMap
Map<Integer,Integer>map = new HashMap<>(1);
\\定义一个不定元素的HashMap
Map<Integer,Integer>map = new HashMap<>();
哈希表
void add(Object k)
添加k
boolean contains(Object k)
如果map中包含k,则返回true。
HashSet 基于 HashMap 来实现的,是一个不允许有重复元素的集合。
HashSet 允许有 null 值。
HashSet 是无序的,即不会记录插入的顺序。
HashSet 不是线程安全的, 如果多个线程尝试同时修改 HashSet,则最终结果是不确定的。 您必须在多线程访问时显式同步对 HashSet 的并发访问。
HashSet 实现了 Set 接口。
import java.util.HashSet; // 引入 HashSet 类
//实例化途径一
HashSet<String> sites = new HashSet<String>();
//实例化途径二
HashSet<String> sites = new HashSet<>();
//实例化途径三,注意这样实例化需要同时引入Set包
Set<String> sites = new HashSet();
//用内置数据类型定义一个字符
char ch = 'a';
//用包装类定义一个字符类对象
Character ch = new Character('a');
将一个char类型的参数传递给需要一个Character类型参数的方法时,那么编译器会自动地将char类型参数转换为Character对象。 这种特征称为装箱,反过来称为拆箱。
String 创建的字符串存储在公共池中,而 new 创建的字符串对象在堆上:
String 类是不可改变的,所以你一旦创建了 String 对象,那它的值就无法改变了
String s = "sab";
char[] ca = s.toCharArray();
Arrays.sort(ca);
提供了Math.max(Object a1, Object a2);
Math.min(Object a1, Object a2);