扁平化设计个人网站,国际交流网站建设方案,有哪些网站可以自己做加视频,网站下载免费新版1#xff1a;Collection和Map接口的几个主要继承和实现类 1.1 Collection接口 Collection是最基本的集合接口#xff0c;一个Collection代表一组Object#xff0c;即Collection的元素#xff08;Elements#xff09;。一些Collection允许相同的元素而另一些不行。一些能排…1Collection和Map接口的几个主要继承和实现类 1.1 Collection接口 Collection是最基本的集合接口一个Collection代表一组Object即Collection的元素Elements。一些Collection允许相同的元素而另一些不行。一些能排序而另一些不行。Java SDK不提供直接继承自Collection的类Java SDK提供的类都是继承自Collection的“子接口”如List和Set。 如何遍历Collection中的每一个元素不论Collection的实际类型如何它都支持一个iterator()的方法该方法返回一个迭代子使用该迭代子即可逐一访问Collection中每一个元素。典型的用法如下 Iterator it collection.iterator(); // 获得一个迭代子 while(it.hasNext()) { Object obj it.next(); // 得到下一个元素 } 1.1.1 Iterator 接口 Iterator接口也是Java集合框架的成员但它与Collection系列、Map系列的集合不一样Collection系列集合、Map系列集合主要用于盛装其他对象而Iterator则主要用于遍历即迭代访问Collection集合中的元素Iterator对象也被称为迭代器。 2 Map接口 Map是一个单独的接口不继承于Collection。Map是一种把键对象和值对象进行关联的容器。一个key-value的对象 特点key不允许重复。 映射与集或列表有明显区别映射中每个项都是成对的Map是把键对象和值对象进行关联的容器。映射中存储的每个对象都有一个相关的关键字(Key)对象关键字决定了对象在映射中的存储位置检索对象时必须提供相应的关键字就像在字典中查单词一样。关键字应该是唯一的也就是说Map中的键对象不允许重复这是为了保证查询结果的一致性。 关键字本身并不能决定对象的存储位置它需要对过一种散列(hashing)技术来处理产生一个被称作散列码(hash code)的整数值散列码通常用作一个偏置量该偏置量是相对于分配给映射的内存区域起始位置的由此确定关键字/对象对的存储位置。理想情况下散列处理应该产生给定范围内均匀分布的值而且每个关键字应得到不同的散列码。 实现类 HashMap 实现一个键到值映射的哈希表通过键取得值对象没有顺序通过get(key)来获取value允许存储空对象而且允许键是空(由于键必须是唯一的当然只能有一个) HashTable 实现一个映象所有的键必须非空。为了能高效的工作定义键的类必须实现hashcode()方法和equal()方法。这个类是前面java实现的一个继承并且通常能在实现映象的其他类中更好的使用。 当元素的顺序很重要时选用TreeMap当元素不必以特定的顺序进行存储时使用HashMap。Hashtable的使用不被推荐因为HashMap提供了所有类似的功能并且速度更快。当你需要在多线程环境下使用时HashMap也可以转换为同步的。 2.1 Map.Entry Map是java中的接口Map.Entry是Map的一个内部接口。 Map提供了一些常用方法如keySet()、entrySet()等方法。 keySet()方法返回值是Map中key值的集合entrySet()的返回值也是返回一个Set集合此集合的类型为Map.Entry。 Map.Entry是Map声明的一个内部接口此接口为泛型定义为EntryK,V。它表示Map中的一个实体一个key-value对。接口中有getKey(),getValue方法。 public class MapTest {public static void main(String[] args) {MapString,String map null;map new HashMapString,String();map.put(name, 小明);map.put(age, 18);map.put(heigh, 175);// 遍历Map的方法1SetMap.EntryString,String set1 map.entrySet();IteratorEntryString, String iterator set1.iterator(); while( iterator.hasNext()) {EntryString, String entry iterator.next();Object key entry.getKey();System.out.println(key);}// 遍历Map的方法2SetString set2 map.keySet();IteratorString iterator1 set2.iterator();while(iterator1.hasNext()) {Object key iterator1.next();Object value map.get(key);System.out.println(key key value value);}// 遍历Map中value的值CollectionString c map.values();IteratorString iterator3 c.iterator();while(iterator3.hasNext()) {Object value iterator3.next(); System.out.println(value);}}} 转载于:https://www.cnblogs.com/myseries/p/7508110.html