guava 에서 Table, HashBasedTable, TreeBasedTable 상세 설명

  • Table 은 여러 색인 의 데이터 구 조 를 필요 로 할 때 대부분 맵 < String, 맵 < String, Object > > M a p < S t r i n g, M a p < S t r i n g, O b j e c t > > 이런 맵 세트 맵 과 같은 번 거 로 운 데이터 구 조 를 선택 합 니 다.최근 에 Guava 를 공부 할 때 이미 제 공 된 Table 집합 유형 을 발견 하여 이러한 사용 장면 을 지원 합 니 다. Table 은 row 와 cloumn 이라는 2 차원 구 조 를 지원 하고 다양한 보 기 를 제공 합 니 다.
  •     public static void main(String[] args) {
    
    
            Table table = HashBasedTable.create();
            table.put(1, 2, 3);
            //  row column        
            table.put(1, 6, 3);
            //  row column          
            if(table.contains(1, 2)) {
                table.put(1, 4, 4);
                table.put(2, 5, 4);
            }
            System.out.println(table);
            //  column 5    
            Map column = table.column(5);
            System.out.println(column);
            //  rowkey 1    
            Map row = table.row(1);
            System.out.println(row);
            //  rowKey 1,columnKey 2    
            Integer value = table.get(1, 2);
            System.out.println(value);
            //      columnKey  
            System.out.println(table.containsColumn(3));
            //      rowKey 1   
            System.out.println(table.containsRow(1));
            //        2   
            System.out.println(table.containsValue(2));
            // table   Map Map  
            Map> rowMap = table.rowMap();
            System.out.println(rowMap);
            //     rowKey    
            Set keySet = table.rowKeySet();
            System.out.println(keySet);
            //  rowKey 1,columnKey 2   ,        
            Integer res = table.remove(1, 2);
            //    
            table.clear();
            System.out.println(res);
            System.out.println(table);
        }

    실행 결과 집합:
    {1={4=4, 2=3, 6=3}, 2={5=4}}
    {2=4}
    {4=4, 2=3, 6=3}
    3
    false
    true
    false
    {1={4=4, 2=3, 6=3}, 2={5=4}}
    [1, 2]
    3
    {1={4=4, 6=3}, 2={5=4}}
    

    Table 은 다음 과 같은 실현 이 있 습 니 다: HashBasedTable: HashMap < R, HashMap < C, V > > H a s h M a p < R, H a s h M a p < C, V > > 의 실현 을 바탕 으로 합 니 다.TreeBasedTable: TreeMap < R, TreeMap < C, V > > T r e M a p < R, T r e M a p < C, V > > 를 기반 으로 합 니 다.Immutable: Immutable Map < R, Immutable Map < C, V > > I m u t a b l e M a p < R, I m u t a b l e M a p < C, V > > 의 실현 을 바탕 으로 합 니 다.
    TreeBasedTable 의 사용 방식 은 HashBasedTable 과 기본적으로 같 습 니 다. 여기 서 는 복창 하지 않 습 니 다...

    좋은 웹페이지 즐겨찾기