<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                [TOC] ### list集合變化操作 可以通過slice、subList、drop、dropLast對集合進行變換,產生一個新的集合。 slice()方法,對集合進行截取,產生一個新的集合,接收一個區間類型的參數,方法簽名如下: ~~~ public fun <T> List<T>.slice(indices: IntRange): List<T> { if (indices.isEmpty()) return listOf() return this.subList(indices.start, indices.endInclusive + 1).toList() } ~~~ subList ()方法,對集合進行截取,產生一個新的集合,方法接收截取的開始位置和結束位置,方法簽名如下: ~~~ override fun subList(fromIndex: Int, toIndex: Int): MutableList<E> ~~~ drop ()方法,對集合進行丟棄,產生一個新的集合,從集合開始位置進行丟棄,方法接收丟棄元素的個數,方法簽名如下: ~~~ public fun <T> Iterable<T>.drop(n: Int): List<T> { ............................ } ~~~ dropLast ()方法,對集合進行丟棄,產生一個新的集合,從集合結束位置進行丟棄,方法接收丟棄元素的個數,方法簽名如下: ~~~ public fun <T> List<T>.dropLast(n: Int): List<T> { require(n >= 0) { "Requested element count $n is less than zero." } return take((size - n).coerceAtLeast(0)) } ~~~ 我們通過一個案例,來看看集合的變化操作,參考代碼: ~~~ fun main(args: Array<String>) { val list = mutableListOf(1, 2, 3, 4, 5, 6, 7, 8, 9) //截取[0,2] var newList: List<Int>? = null newList = list.slice(0..2) println("slice(0..2):$newList") //截取[0,2) newList = list.slice(0 until 2) println("slice(0 until 2):$newList") //截取[0,2) newList = list.subList(0, 2) println("subList(0,2):$newList") //正向刪除3個元素 newList = list.drop(3) println("正向刪除3個元素drop(3):$newList") //反向刪除3個元素 newList = list.dropLast(3) println("反向刪除3個元素dropLast(3):$newList") } ~~~ 運行結果 ``` slice(0..2):[1, 2, 3] slice(0 until 2):[1, 2] subList(0,2):[1, 2] 正向刪除3個元素drop(3):[4, 5, 6, 7, 8, 9] 反向刪除3個元素dropLast(3):[1, 2, 3, 4, 5, 6] Process finished with exit code 0 ``` ### list集合下標越界問題 list集合下標越界,可以說是list集合操作的一個經典問題。是什么list集合下標越界呢?我們在用list集合下標去獲取元素的時候,如果給定的下標大于了list集合長度或者下標為負數,則會出現下標越界異常,程序會拋出ArrayIndexOutOfBoundsException異常, 我們先把下標給成負數,參考案例: ![](http://upload-images.jianshu.io/upload_images/7368752-968f1b4045bcbe7b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 我們再把下標超出list集合長度,參考案例: ![](http://upload-images.jianshu.io/upload_images/7368752-1f584dde77160bc1.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看