Guava源码阅读之Table

本文将详尽探讨Guava库中的Table数据结构,它是Java中一种高效存储和操作多维度数据的工具。通过阅读源码,我们将理解Table如何组织内部结构,以及它提供的丰富API用于插入、查询和遍历数据。通过对实际案例的分析,揭示Table在解决复杂数据关联问题上的优势。
摘要由CSDN通过智能技术生成
 /*
            a b c d
          0 *
          1 *
          2   *   *
          3     *
         */
        Table<Integer,String,String> table = HashBasedTable.create();  //双key-value的结构     双key 与 value 都不可重复
        table.put(0,"a","*");
        table.put(1,"a","*");
        table.put(1,"a","*");
        table.put(2,"b","*");
        table.put(2,"c","*");
        table.put(3,"b","*");
        log.info("table.rowKeySet() = {}",table.rowKeySet());
        log.info("table.columnKeySet() = {}",table.columnKeySet());
        log.info("table.cellSet() = {}",table.cellSet());
        log.info("table.rowMap() = {}",table.rowMap());
        log.info("table.columnMap() = {}",table.columnMap());
//结果
20:29:17.546 [main] INFO - table.rowKeySet() = [0, 1, 2, 3]
20:29:17.583 [main] INFO - table.columnKeySet() = [a, b, c]
20:29:17.585 [main] INFO - table.cellSet() = [(0,a)=*, (1,a)=*, (2,b)=*, (2,c)=*, (3,b)=*]
20:29:17.592 [main] INFO - table.rowMap() = {0={a=*}, 1={a=*}, 2={b=*, c=*}, 3={b=*}}
20:29:17.597 [main] INFO - table.columnMap() = {a={0=*, 1=*}, b={2=*, 3=*}, c={2=*}}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值