<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          JTupleJava 語言版本的元組數(shù)據(jù)類型

          聯(lián)合創(chuàng)作 · 2023-10-01 07:47

          JTuple

          Java 語言版本的元組數(shù)據(jù)類型,實現(xiàn)了元組類型的特性(不可變、 可迭代)以及常用操作方法

          特點:輕量級,無依賴,線程安全

          元組的意義

          元組最重要的意義是用來實現(xiàn)多值返現(xiàn)。很多時候我們需要返回一組值,更可怕的是這組值的類型可能并不完全一樣,比如 http 請求時,有請求的返回碼(int)以及響應(yīng)報文(String)

          對于 Java 人員來說,遇到這種情況時,一般的解決方案是編寫一個類,類里只有2個屬性,分別是以上2個,然后返回給調(diào)用者。是不是有種胸悶的感覺。折騰,造孽啊。

          或者就返回一個列表,但是因為類型不統(tǒng)一,只能用 List,后續(xù)處理的代碼的可讀性會很差,我相信任何一個技術(shù)水平過關(guān)或者有職業(yè)操守的程序員都不會這么做。

          元組的出現(xiàn),就是為了解決這種情況的,很多年輕的語言(Python、Scala)都內(nèi)置了元組,本項目就是讓 Java 開發(fā)人員也可以享受到元組帶來的編程時的便捷和快樂。

          主要實現(xiàn)

          類名 描述
          Tuple 元組抽象,實現(xiàn)元組數(shù)據(jù)結(jié)構(gòu)已經(jīng)常用操作方法
          Tuple0 空元組,不包含任何元素
          Tuple1 只包含1個元素的元組
          Tuple2 只包含2個元素的元組
          Tuple3 只包含3個元素的元組
          Tuple4 只包含4個元素的元組
          TupleN 包含N個元素的元組

          元組操作

          操作API 說明
          add 元組合并
          foreach 元組迭代
          forEachWithIndex 元組帶序號迭代
          swap 元組反轉(zhuǎn)
          toList 元組轉(zhuǎn)成列表
          get 獲取元組某一個元素
          contains 元組中是否包含某個元素
          subTuple 截取子元組
          equals 比較2個元組內(nèi)容是否相同
          toString 輸出字符串表示的元組,如: (123, 456)
          repeat 重復(fù)元組內(nèi)的所有元素

          樣例

          Tuple2 tuple2 = Tuple2.with("test", 123);
          log.debug("first:{}", tuple2._0);//test
          log.debug("second:{}", tuple2._1);//123
          TupleN tuple = TupleN.with("hello", 123, true, 186.5);
          log.debug("toString:{}", tuple.toString());//(hello, 123, true, 186.5)
          Tuple1 tuple1 = Tuple1.with("hello");
          Tuple2 tuple2 = Tuple2.with("world", "!");
          Tuple3 tuple3 = Tuple3.with(1, 2, 3);
          log.debug("add:{}", tuple1.add(tuple2).toString());//(hello, world, !)
          log.debug("add:{}", tuple1.add(tuple2, tuple3).toString());//(hello, world, !, 1, 2, 3)
          TupleN tuple = TupleN.with("hello", 123, true, 186.5);
          log.debug("swap:{}", tuple.swap().toString());//(186.5, true, 123, hello)
          Tuple2 tuple2 = Tuple2.with("a", "b");
          log.debug("repeat:{}", tuple2.repeat(3).toString());//(a, b, a, b, a, b)

          引入(要求 JDK8)

          com.github.sd4324530
          JTuple
          1.1.0
          瀏覽 29
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产精品无码在线观看 | 美女被大吊操久久 | 黄色免费在线观看国产 | 操操综合| 成人三级无码视频 |