亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

【Java】實現(xiàn)list等分

yy736044583 / 3007人閱讀

摘要:事件起因博主在學習爬蟲的時候,需要將一個等分成個。實現(xiàn)代碼直接附上自己寫的代碼輕噴平分成份數(shù)據(jù)量盡可能相等需要平分的平分成分商數(shù)余數(shù)偏移量循環(huán)長度起始下標結束下標代碼用例代碼用例如下原始數(shù)據(jù)分成等份按等份分組后輸出的結果如下

事件起因

  博主在學習 Python 爬蟲的時候,需要將一個 list 等分成 n 個 list 。
  由于能力有限,自己也沒有更好的實現(xiàn)方式,所以就現(xiàn)成的拿了別人的代碼直接用。

def splist(l, s):
  return [l[i:i+s] for i in range(len(l)) if i%s==0]

  然而很不巧的的是,項目過程中又碰到了這個問題,而且這次用的是 Java !!!
  雖然說處理的過程是有類似的地方,但真動手寫起來還是比較棘手的。畢竟 Java 沒有像 Python 這些豐富的庫函數(shù)。
  網上我也找過一些類似的方法,但都不是很滿意,所以還是自己花時間折騰來造造輪子。

實現(xiàn)代碼

  直接附上自己寫的代碼(輕噴):

  /**
     * 平分list成n份 數(shù)據(jù)量盡可能相等
     * @param list 需要平分的list
     * @param n    平分成n分
     * @return
     */
    public static  List> splitList(List list, int n) {
        List> strList = new ArrayList<>();
        if (list == null) return strList;
        int size = list.size();
        int quotient = size / n; // 商數(shù)
        int remainder = size % n; // 余數(shù)
        int offset = 0; // 偏移量
        int len = quotient > 0 ? n : remainder; // 循環(huán)長度
        int start = 0;    // 起始下標
        int end = 0;    // 結束下標
        List tempList = null;
        for (int i = 0; i < len; i++) {
            if (remainder != 0) {
                remainder--;
                offset = 1;
            } else {
                offset = 0;
            }
            end = start + quotient + offset;
            tempList = list.subList(start, end);
            start = end;
            strList.add(tempList);
        }
        return strList;
    }
代碼用例

  代碼用例如下:

public static void main(String[] args) {
        List integerList = new ArrayList<>();
        // 原始數(shù)據(jù):[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
        for (int i = 0; i < 14; i++) {
            integerList.add(i);
        }
        List> splitList = splitList(integerList, 10);    // 分成10等份
        System.out.println(splitList);
    }

  按10等份分組后輸出的結果如下:

[[0, 1], [2, 3], [4, 5], [6, 7], [8], [9], [10], [11], [12], [13]]

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://www.ezyhdfw.cn/yun/67833.html

相關文章

  • 基于K-means 切割多邊形 JAVA實現(xiàn)

    摘要:基于切割多邊形實現(xiàn)思路初稿詳見多邊形等分依賴實現(xiàn)實現(xiàn)過程結果類泰森多邊形平分多邊形結果原始平面隨機點集合分組后組中心集合構造泰森多邊形聚合類聚合聚合總量數(shù)據(jù)集合簇族數(shù)量中 基于K-means 切割多邊形 JAVA實現(xiàn) 思路初稿詳見多邊形等分 依賴 geotools ekmeans org.locationtech.jts jts-co...

    haobowd 評論0 收藏0
  • vue實現(xiàn)旋轉木馬輪播

    摘要:關于旋轉木馬效果實用例子一個實際應用在優(yōu)酷的頻道頁。將對的數(shù)據(jù)操作轉化為數(shù)組,數(shù)組元素存儲各項的數(shù)據(jù)寬高絕對定位偏移值透明度以及層疊參數(shù),在模板處遍歷實際項目的數(shù)組,其樣式則通過索引獲取對數(shù)組的元素數(shù)據(jù)。 同事拿到個設計稿,是旋轉木馬的輪播效果,于是網上找了一下,發(fā)現(xiàn)了jquery實現(xiàn)的效果,一有空就看看源碼,研究其實現(xiàn)原理,想著用vue的數(shù)據(jù)驅動方式來實現(xiàn)一個,但這個效果跟以往做的d...

    waltr 評論0 收藏0
  • vue實現(xiàn)旋轉木馬輪播

    摘要:關于旋轉木馬效果實用例子一個實際應用在優(yōu)酷的頻道頁。將對的數(shù)據(jù)操作轉化為數(shù)組,數(shù)組元素存儲各項的數(shù)據(jù)寬高絕對定位偏移值透明度以及層疊參數(shù),在模板處遍歷實際項目的數(shù)組,其樣式則通過索引獲取對數(shù)組的元素數(shù)據(jù)。 同事拿到個設計稿,是旋轉木馬的輪播效果,于是網上找了一下,發(fā)現(xiàn)了jquery實現(xiàn)的效果,一有空就看看源碼,研究其實現(xiàn)原理,想著用vue的數(shù)據(jù)驅動方式來實現(xiàn)一個,但這個效果跟以往做的d...

    高璐 評論0 收藏0
  • 地圖標記聚合算法

    摘要:需要實現(xiàn)一個地圖圖標聚合算法最終功能類似安居客在地圖搜索房源的功能當?shù)貓D縮放級別較大時僅用一個地圖標記顯示該區(qū)域總數(shù)當?shù)貓D縮小至一定級別時每條信息才可以顯示為單獨的圖標自己擬了一套算法基本思想是以網格遞歸分割全部數(shù)據(jù)點直到網格大小達到閾值或 需要實現(xiàn)一個地圖圖標聚合算法, 最終功能類似 安居客 在地圖搜索房源的功能. 當?shù)貓D縮放級別較大時, 僅用一個地圖標記顯示該區(qū)域總數(shù); 當?shù)貓D縮小...

    妤鋒シ 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<