List、Map、Set打印

List

List:和数组类似,List可以动态增长,查找元素效率高,插入删除元素效率低,因为会引起其他元素位置改变。

普通['1','2']

1.循环

2.System.out.println(list);

int数组['1,2,3','4,5,6','1,2,3']

1.for (int[] array : list) { System.out.println(Arrays.toString(array)); }

  1. System.out.println(Arrays.deepToString(list.toArray()));

Set

set无序,下标取得是乱的,不能用i。Set:检索元素效率低下,删除和插入效率高,插入和删除不会引起元素位置改变。

for (Object object : set) {

System.out.println(object);

}

迭代器

Iterator<Object> it = set.iterator();

while(it.hasNext()) {

System.out.println(it.next());

}

Map

存储的是键值对,键不能重复,值可以重复。对 map 集合遍历时先得到键的 set 集合,对 set 集合进行遍历,得到相应的值

方法一

1 使用Map集合中的方法KeySet(),把Map集合所有的Key 取出来 ,存储到一个Set集合中

2 遍历Set集合,获取Map集合中的每一个Key值

3 通过Map集合的get(Key),通过Key找到value

复制代码
public  static  void fun1(HashMap<Integer,String> map){
        //keySet()   返回此映射中所包含的键的 Set 视图。 获取key的set集合
        Set<Integer> set= map.keySet();
        Iterator iterator=set.iterator();
        while (iterator.hasNext()){
            Object key=iterator.next();
            System.out.print(key);
            System.out.print(map.get(key));
        }
    }

方法二:

entrySet() 返回此映射所包含的映射关系的 Set 视图。

1 使用Map集合中的方法entrySet(),把Map集合多个Entry对象取出来,,存储到一个Set集合中

2 遍历Set集合,获取每个Entry对象

3 使用Entry对象的中的方法getKey()和getValue() 获取键键与值

复制代码
public  static  void fun2(HashMap<Integer,String> map){

      Set<Map.Entry<Integer,String>> set=map.entrySet();
      Iterator<Map.Entry<Integer,String>> it=set.iterator();

        while (it.hasNext()){
            Map.Entry<Integer,String> entry=it.next();
            Integer key=entry.getKey();
            String value=entry.getValue();
            System.out.println("Key"+key+" value"+value);
        }
    }
相关推荐
guojl19 分钟前
深度解读jdk8 HashMap设计与源码
java
guojl25 分钟前
深度解读jdk8 ConcurrentHashMap设计与源码
java
爱上语文41 分钟前
Redis基础(5):Redis的Java客户端
java·开发语言·数据库·redis·后端
A~taoker1 小时前
taoker的项目维护(ng服务器)
java·开发语言
HGW6891 小时前
基于 Elasticsearch 实现地图点聚合
java·elasticsearch·高德地图
hi星尘1 小时前
深度解析:Java内部类与外部类的交互机制
java·开发语言·交互
wuxinyan1231 小时前
Java面试题033:一文深入了解MySQL(5)
java·数据库·mysql·面试
清心歌2 小时前
Java SE线程的创建
java
高兴达2 小时前
Spring boot入门工程
java·spring boot·后端
萧曵 丶2 小时前
Spring @TransactionalEventListener
java·数据库·spring·事务·transactional·异步