java反射和映射,java 字段映射

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: