java反射和映射,java 字段映射
如何解决写爬虫IP受阻的问题?立即使用。
集合是可以快速找到已有元素的集合。但是,要查看某个元素,您需要有所查找元素的精确副本。这不是一个非常通用的搜索方法,因为在集合中查找元素总是遍历集合。通常我们知道一些键的信息,想找到对应的元素。地图数据结构就是为此而设计的。映射用于存储键/值对。如果提供了一个键,就可以找到该值。它们之间是一一对应的。
基本映射操作:
Java类库为映射提供了两种通用实现:HashMap和TreeMap,这两种实现都实现了Map接口。
HashMap对键进行散列,TreeMap按照键的整体顺序对元素进行排序,并将它们组织成搜索树。
哈希或比较函数只能对键起作用。与该键关联的值不能被散列或比较。
和set一样,hash映射比tree映射略快,所以不需要按排列顺序访问键的时候最好选择hash映射。
OP-要存储键值,必须使用put方法。
OP-要访问键值,必须使用get方法,并且只能通过键访问值。
OP-如果找不到值,但不想返回空对象,则使用getOrDefault(var1,var2),如果找不到值,则返回var2。
密钥必须是唯一的。如果对一对映射调用两次put方法,后一次调用将覆盖前一次调用。并返回第一次调用的结果。
要移除键值对,使用remove (key)方法
要获得键值对的数量,使用size()方法
OP-为了迭代地处理每个键和值,最好使用forEach方法,该方法可以提供一个lambda表达式来依次处理map中的每个元素。
类似scores.foreach ((k,v)-system.out.println (key= k ,value= v));
下面的示例程序演示了映射的操作过程。首先,将键/值对添加到映射中。然后从映射中删除一个键,其对应的值也被删除。接下来,修改对应于一个键的值,并调用get方法来检查这个值。最后,迭代处理项目集。
代码:
包集合。地图;
导入Java . util . *;
公共类MapTest {
公共静态void main(String[] args) {
MapString,Employee staff=new HashMap();
staff.put(144-25-5464 ,新员工(艾米李);
staff.put(567-24-2546 ,新员工(哈里黑客);
staff.put(157-62-7935 ,新员工(加里库珀);
staff.put(456-62-5527 ,新员工( Francesca Cruz );
//打印所有成员
system . out . println(staff);
//删除成员
staff . remove( 567-24-2546 );
//替换成员
staff.put(456-62-5527 ,新员工( Francesca Miller );
//查看成员
system . out . println(staff . get( 157-62-7935 ));
//遍历映射
staff.forEach((k,v)-System.out.println(key= k ,value= v));
}
}
员工类别{
字符串名称;
公共雇员(字符串名称){
this.name=name
}
公共字符串toString() {
返回“[name= name ]”;
}
}运行结果:
下面是接口Map中常用的几个方法及其解释:
V get(Object key)
获取键对应的值;返回与键对应的对象,如果映射中没有这样的对象,则返回null。密钥可以为空。
default V getOrDefault(Object key,V defaultValue)
获取与该键关联的值;返回与该键关联的对象,如果在映射中找不到该键,则返回defaultValue。
V put(K key,V value)
将键和相应值之间的关系插入到映射中。如果该键已经存在,新对象将替换与该键对应的旧对象。该方法将返回对应于该键的旧值。如果该键以前没有出现过,则返回null。键可以为空,但值不能为空。
void putAll(Map? extends K,? extends V entries)
将给定映射中的所有条目添加到此映射中。
boolean containsKey(Object key)
如果此键已经存在于映射中,则返回true。
boolean containsValue(Object value)
如果此值已经存在于映射中,则返回true。
default void forEach(BiConsumer? super K,? super V action)
将此操作应用于此映射中的所有键/值。
下面是HashMap类中的常用方法:
散列表()
HashMap(int initialCapacity)
HashMap(int initialCapacity,float loadFactor)
用给定的容量和填充因子(填充因子是0.0到1.0之间的值)构造一个空哈希映射。该值决定哈希表的填充百分比。一旦达到这个比率,它将被散列到一个更大的表中)。默认填充因子为0.75。
下面是TreeMap类中常用的方法:
TreeMap()
为实现Comparable接口的键构造一个空树映射。
TreeMap(Comparator? super K c)
构建一个树形图,并使用指定的比较器对关键字进行排序。
TreeMap(Map? extends K,? extends V entries)
构建一个树形图,并将图中的所有条目添加到树形图中。
TreeMap(SortedMap? extends K,? extends V entries)
构建一个树形图,将有序图中的所有条目添加到树形图中,并使用与给定的有序图相同的比较器。
下面是SortedMap接口的一些重要的方法:
Comparator? super K comparator()
返回按键排序的比较器。如果键与compare接口的comparaTo方法进行比较,则返回null。
K firstKey()
K lastKey()
返回地图中最小和最大的元素。
我们,大量免费的Java入门教程,欢迎在线学习!这就是java映射的细节。更多请关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。