java常用接口

Map
java常用接口_第1张图片
如上图,Map(映射)是遵循key:value这样形式的集合。key,value的类型可以是任何的java对象。
我们大多数情况下,都会使用HasMap这个Map的实现类

import java.util.Map;
import java.util.HashMap;

// key value 得是 Java 类型
Map<key,value> map = new HashMap<>();

java常用接口_第2张图片
首先我们可以用map.put(key,value)这个方法完成数据的存储。
由于Map的键值都是java对象类型,所以我们在实际创建的时候也需要对应指定的类型,上面的案例中key是数字类型:integer,value是字符串类型:String ,所以我们可以用Map来表示,这也是关于泛型的用法

// 实例化Map对象
Map<Integer,String> map = new HashMap<>();

map.put(1,"Monday");
map.put(2,"Tuesday");
map.put(3,"Wednesday");
map.put(4,"Thursday");
map.put(5,"Friday");
map.put(6,"Saturday");
map.put(7,"Sunday");

如果我们想知道数字3对应值,就可以使用map.get(key)这个方法来获取。

String weekText = map.get(3);
System.out.println(weekText);

Map的遍历相对麻烦,因为是key:value格式,所以我们一般先得到这个数据格式的集合(entrySet),完整的例子如下

for (Map.Entry<Integer,String> entry : map.entrySet()){ 

   System.out.println("Key = " + entry.getKey() + 
                  ", Value = " + entry.getValue());
 }

/*Map接口中键和值一一映射. 可以通过键来获取值。
给定一个键和一个值,你可以将该值存储在一个Map对象. 之后,你可以通过键来访问对应的值。
当访问的值不存在的时候,方法就会抛出一个NoSuchElementException异常.
当对象的类型和Map里元素类型不兼容的时候,就会抛出一个 ClassCastException异常。
当在不允许使用Null对象的Map中使用Null对象,会抛出一个NullPointerException 异常。
当尝试修改一个只读的Map时,会抛出一个UnsupportedOperationException异常。




void clear( )
从此映射中移除所有映射关系(可选操作)。
boolean containsKey(Object k)
如果此映射包含指定键的映射关系,则返回 true。
boolean containsValue(Object v)
如果此映射将一个或多个键映射到指定值,则返回 true。
Set entrySet( )
返回此映射中包含的映射关系的 Set 视图。
boolean equals(Object obj)
比较指定的对象与此映射是否相等。
Object get(Object k)
返回指定键所映射的值;如果此映射不包含该键的映射关系,则返回 null。
boolean isEmpty( )
如果此映射未包含键-值映射关系,则返回 true。
Set keySet( )
返回此映射中包含的键的 Set 视图。
Object put(Object k, Object v)
将指定的值与此映射中的指定键关联(可选操作)。
void putAll(Map m)
从指定映射中将所有映射关系复制到此映射中(可选操作)。
Object remove(Object k)
如果存在一个键的映射关系,则将其从此映射中移除(可选操作)。
int size( )
返回此映射中的键-值映射关系数。
Collection values( )
返回此映射中包含的值的 Collection 视图。*/









List
List是ArrayList的接口,所以用法和ArrayList没有太大区别,支持同一类型数据的集合存储。
存储字符串:

List<String> strings = new ArrayList<>();

另一种遍历方式

List<String> strings = new ArrayList<>();

for(String str : strings){
    System.out.println(str);
}

这个for循环适用于不关心数组坐标的场景。简化版的for语句。

你可能感兴趣的:(java)