当前位置: 首页 > news >正文

小企业网站建设口碑公司网站建设制度

小企业网站建设口碑,公司网站建设制度,中国新冠疫苗接种率,简历设计网Map集合是Java集合框架中的一个重要组成部分#xff0c;它以键值对#xff08;key-value pairs#xff09;的形式存储数据。Map集合中的每个键都是唯一的#xff0c;因此它不允许键的重复#xff0c;而每个键可以关联一个值#xff0c;同一键可以对应不同的值#xff08…Map集合是Java集合框架中的一个重要组成部分它以键值对key-value pairs的形式存储数据。Map集合中的每个键都是唯一的因此它不允许键的重复而每个键可以关联一个值同一键可以对应不同的值在不改变键的情况下更新值。Map 接口主要用于通过键快速查找、插入和删除对应的值。 Map接口的主要特征 键-值存储Map集合中每个元素都是一个键值对KeyValuePair通常写作K, V其中K代表键的类型V代表值的类型。唯一键约束Map集合的键必须唯一也就是说如果试图插入一个与现有键相同的键原有的键值对将被新的键值对替换如果值不同的话。键的无序性Map集合中的元素不保证顺序除非使用了如LinkedHashMap这样的有序Map实现类。常用操作Map集合提供了丰富的API来添加、删除、查找、更新键值对如put(key, value)添加或更新键值对、get(key)通过键获取值、remove(key)通过键删除键值对、containsKey(key)检查Map中是否存在指定键等。 Map接口的主要实现类 HashMap 基于哈希表的实现它允许空键和空值。迭代顺序不是基于插入顺序的。 LinkedHashMap HashMap 的子类维护了一个双向链表可以按照插入顺序或访问顺序来遍历键值对。 TreeMap 基于红黑树的实现可以按照自然顺序或自定义顺序对键进行排序。 Hashtable 和 HashMap 类似但它是线程安全的不允许空键和空值。 ConcurrentHashMap 线程安全的 HashMap 实现用于多线程环境。 IdentityHashMap 使用 而不是 equals() 方法来比较键。 Map接口的主要方法 添加键值对 V put(K key, V value)向Map中添加键值对如果键已存在则旧值将被新值替换并返回旧值如果键不存在则添加新的键值对并返回null。 // 创建一个 Map 集合 MapString, Integer myMap new HashMap(); // 添加键值对 myMap.put(Apple, 1); myMap.put(Banana, 2); System.out.println(myMap); // 输出: {Apple1, Banana2}获取值 V get(Object key)根据给定的键获取对应的值如果键不存在则返回null。 // 创建一个 Map 集合,并在构造函数中直接添加初始键值对 MapString, Integer myMap new HashMapString, Integer() {{put(Apple, 1);put(Banana, 2);put(Mango, 3);put(Orange, 4);put(Pear, 5); }}; // 获取值 Integer banana myMap.get(Banana); System.out.println(banana); // 输出: 2删除键值对 V remove(Object key)删除指定键的键值对如果键存在则返回对应的值否则返回null。 // 创建一个 Map 集合,并在构造函数中直接添加初始键值对 MapString, Integer myMap new HashMapString, Integer() {{put(Apple, 1);put(Banana, 2);put(Mango, 3);put(Orange, 4);put(Pear, 5); }}; // 删除键为Apple的键值对并返回1 Integer removedValue myMap.remove(Apple); System.out.println(removedValue);// 输出: 1 System.out.println(myMap);// 输出: {Pear5, Mango3, Orange4, Banana2}判断键是否存在 boolean containsKey(Object key)判断Map中是否包含指定的键。 // 创建一个 Map 集合,并在构造函数中直接添加初始键值对 MapString, Integer myMap new HashMapString, Integer() {{put(Apple, 1);put(Banana, 2);put(Mango, 3);put(Orange, 4);put(Pear, 5); }}; // 判断 Apple 是否存在 boolean hasApple myMap.containsKey(Apple); System.out.println(键 Apple 是否存在: hasApple);// 输出: 键 Apple 是否存在: true判断值是否存在 boolean containsValue(Object value)判断Map中是否包含指定的值。 // 创建一个 Map 集合,并在构造函数中直接添加初始键值对 MapString, Integer myMap new HashMapString, Integer() {{put(Apple, 1);put(Banana, 2);put(Mango, 3);put(Orange, 4);put(Pear, 5); }}; // 判断Value值 1 是否存在 boolean containsValue myMap.containsValue(1); System.out.println(值 1 是否存在? containsValue);// 输出: 值 1 是否存在? true获取Map大小 int size()返回Map中键值对的数量。 // 创建一个 Map 集合,并在构造函数中直接添加初始键值对 MapString, Integer myMap new HashMapString, Integer() {{put(Apple, 1);put(Banana, 2);put(Mango, 3);put(Orange, 4);put(Pear, 5); }}; // 获取集合的大小 int mapSize myMap.size(); System.out.println(mapSize);// 输出: 5清空Map void clear()删除Map中的所有键值对。 // 创建一个 Map 集合,并在构造函数中直接添加初始键值对 MapString, Integer myMap new HashMapString, Integer() {{put(Apple, 1);put(Banana, 2);put(Mango, 3);put(Orange, 4);put(Pear, 5); }}; // 清空Map myMap.clear(); System.out.println(myMap);//输出: {}获取所有键的集合 SetK keySet()返回一个包含所有键的Set集合。 // 创建一个 Map 集合,并在构造函数中直接添加初始键值对 MapString, Integer myMap new HashMapString, Integer() {{put(Apple, 1);put(Banana, 2);put(Mango, 3);put(Orange, 4);put(Pear, 5); }}; // 获得所有键的集合 SetString keys myMap.keySet(); System.out.println(keys);//输出: [Apple, Pear, Mango, Orange, Banana]获取所有值的集合 CollectionV values()返回一个包含所有值的Collection集合。 // 创建一个 Map 集合,并在构造函数中直接添加初始键值对 MapString, Integer myMap new HashMapString, Integer() {{put(Apple, 1);put(Banana, 2);put(Mango, 3);put(Orange, 4);put(Pear, 5); }}; // 获取所有值的集合 CollectionInteger values myMap.values(); System.out.println(values);// 输出: [1, 5, 3, 4, 2]获取键值对集合 SetMap.EntryK, V entrySet()返回一个包含所有键值对的Set集合每个元素都是Map.Entry类型的对象。 // 创建一个 Map 集合,并在构造函数中直接添加初始键值对 MapString, Integer myMap new HashMapString, Integer() {{put(Apple, 1);put(Banana, 2);put(Mango, 3);put(Orange, 4);put(Pear, 5); }}; // 获取键值对 SetMap.EntryString, Integer entries myMap.entrySet(); System.out.println(entries);// 输出: [Apple1, Pear5, Mango3, Orange4, Banana2]Map集合遍历 使用 keySet() 遍历键值对 keySet()方法返回一个包含所有键的Set视图通过迭代这个Set可以获取到所有的键再通过Map的get()方法取得对应的值。 // 创建一个 Map 集合,并在构造函数中直接添加初始键值对 MapInteger, String myMap new HashMapInteger, String() {{put(1, Apple);put(2, Banana);put(3, Mango);put(4, Orange);put(5, Pear); }}; // 使用keySet遍历 for (Integer key : myMap.keySet()) {String value myMap.get(key);System.out.println(Key: key , Value: value); }使用 entrySet() 遍历键值对 entrySet()方法返回一个包含所有键值对Map.Entry对象的Set视图可以直接通过Map.Entry对象获取键和值。 // 创建一个 Map 集合,并在构造函数中直接添加初始键值对 MapInteger, String myMap new HashMapInteger, String() {{put(1, Apple);put(2, Banana);put(3, Mango);put(4, Orange);put(5, Pear); }}; // 使用 entrySet() 遍历键值对 for (Map.EntryInteger, String entry : myMap.entrySet()) {// 获取 键Integer key entry.getKey();// 获取 值String value entry.getValue();System.out.println(Key: key , Value: value); }使用 forEach() forEach()方法和Stream API是在Java 8中引入的提供了更加简洁的遍历方式尤其在处理集合时可以轻松实现链式操作。 // 创建一个 Map 集合,并在构造函数中直接添加初始键值对 MapInteger, String myMap new HashMapInteger, String() {{put(1, Apple);put(2, Banana);put(3, Mango);put(4, Orange);put(5, Pear); }}; // 使用 forEach() 遍历输出 myMap.forEach((key,value)-System.out.println(Key: key , Value: value));HashMap 集合 HashMap是基于哈希表实现的Map接口的一个非同步实现类允许存储键值对key-value pairs并且可以高效地根据键来查找值。 数据结构HashMap内部采用数组和链表或红黑树自JDK1.8开始相结合的方式来存储数据。数组用于快速定位链表或红黑树用于解决哈希冲突。键的唯一性依赖hashCode方法和equals方法保证键的唯一初始化如果键要存储的是自定义对象需要重写hashCode和equals方法 代码示例 创建一个学生类键是学生对象Student import java.util.Objects;public class Student {private String mame;// 姓名private int age;// 年龄public Student() {}public Student(String mame, int age) {this.mame mame;this.age age;}public String getMame() {return mame;}public void setMame(String mame) {this.mame mame;}public int getAge() {return age;}public void setAge(int age) {this.age age;}// 为了保证对象的唯一性,重写equals 和 hashCode// 如果学生对象的成员变量值相同我们就认为是同一个对象Overridepublic boolean equals(Object o) {if (this o) return true;if (o null || getClass() ! o.getClass()) return false;Student student (Student) o;return age student.age Objects.equals(mame, student.mame);}Overridepublic int hashCode() {return Objects.hash(mame, age);} }测试类 //创建HashMap集合对象 HashMapStudent, String stu new HashMap(); // 创建学生对象 Student s1 new Student(李一, 30); Student s2 new Student(李一, 30); Student s3 new Student(张三, 37); Student s4 new Student(李四, 32);// 把学生添加到集合 stu.put(s1,北京); stu.put(s2,重庆); stu.put(s3,上海); stu.put(s4,曼哈顿); // 遍历集合 for (Student key : stu.keySet()) {String value stu.get(key);System.out.println(key.getName() , key.getAge() , value); }TreeMap集合 TreeMap是Java集合框架中实现Map接口的一个类它使用红黑树Red-Black Tree作为底层数据结构确保键的有序存储。 TreeMap的键值对是有序的可以按照键的自然顺序键实现Comparable接口或者通过自定义Comparator进行排序。红黑树是一种自平衡二叉查找树保证了插入、删除和查找操作的时间复杂度在最坏情况下均为O(log n)。 代码示例 创建一个学生类: import java.util.Objects;public class Student implements ComparableStudent {private String name;// 姓名private int age;// 年龄public Student() {}public Student(String name, int age) {this.name name;this.age age;}public String getName() {return name;}public void setName(String name) {this.name name;}public int getAge() {return age;}public void setAge(int age) {this.age age;}Overridepublic String toString() {return Student{ name name \ , age age };}// 为了保证对象的唯一性,重写equals 和 hashCode// 如果学生对象的成员变量值相同我们就认为是同一个对象Overridepublic boolean equals(Object o) {if (this o) return true;if (o null || getClass() ! o.getClass()) return false;Student student (Student) o;return age student.age Objects.equals(name, student.name);}Overridepublic int hashCode() {return Objects.hash(name, age);}// 继承 Comparable接口,重写 compareTo方法,实现学生根据条件进行排序Overridepublic int compareTo(Student o) {//按照年龄进行排序int result o.getAge() - this.getAge();//次要条件按照姓名排序。result result 0 ? o.getName().compareTo(this.getName()) : result;return result;} }测试方法 //创建TreeMap集合对象 TreeMapStudent, String stu new TreeMap(); // 创建学生对象 Student s1 new Student(李一, 30); Student s2 new Student(李一, 30); Student s3 new Student(张三, 37); Student s4 new Student(李四, 32);// 把学生添加到集合 stu.put(s1,北京); stu.put(s2,重庆); stu.put(s3,上海); stu.put(s4,曼哈顿); // 遍历集合 for (Student key : stu.keySet()) {String value stu.get(key);System.out.println(key.getName() , key.getAge() , value); }
http://www.pierceye.com/news/215659/

相关文章:

  • 网站建设面授班网站备案回访电话号码
  • 阿里有做网站网站建设费是宣传费用吗
  • 点广告挣钱网站有哪些网站的建设与预算
  • 佛山新网站建设详细内容手机软件公司
  • 网站建设美词原创怎样建设一个能上传数据的网站
  • 网站建设网站营销做APP必须要有网站么
  • 易企建站咖啡公司网站建设策划书
  • wordpress 不能查看站点网站建设公司软件开
  • 网站文章seoftp搭建wordpress
  • 济宁企业做网站受欢迎的常州做网站
  • 我有域名有服务器怎么建设网站凡科官网app下载
  • 深圳保障性住房可以买卖吗襄樊seo排名
  • 餐饮官网建站模板网站开发实验报告可行性分析
  • 美食网站建设规划书外链工具软件
  • 网站设计模板代码七牛wordpress后台慢
  • 佛山网站建设怎么办huang色网站
  • 涞水县建设局网站wordpress wp_enqueue_script
  • 网站怎么添加音乐wordpress livechat
  • 网站开发的业务需求分析学校网站建设运行简介
  • 网站建设找博网iis7.0网站错误代码解决
  • 嘉鱼网站建设公司php网站开发技术期末题库
  • 企业网站搭建方案wordpress代码编辑器件
  • 网站的大小黄埔移动网站建设
  • 建设网站的语言中囯军事网
  • 网站开发职业访谈上海 建设工程质量监督站网站
  • 网站开发程序用什么好用新浪微博做网站
  • 什么免费推广网站好旅游订房网站开发需求文档
  • 网站运营是做啥的wordpress带会员中心主题
  • 网站设计怎么弄微信表情开放平台官网
  • 做网站纸张大小滨州网站建设模板建设