簡體   English   中英

如何在不同的字符串之間共享子字符串?

[英]How to share a substring among different strings?

我需要讀取一個字符串數組,其中每個字符串都由兩個子字符串組成:這些子字符串中的第一個對於數組的所有字符串都是相同的。 讀取此數組的方法提供了ArrayList<CharSequence>參數,因此我需要一個CharSequence,您可以在其中以如下方式設置對公共子字符串以及變量子序列的引用:

public class MyCharSequence implements CharSequence {

    public MyCharSequence(CharSequence common, CharSequence append) {
        // ...
    }

    // other CharSequence method
    // ...
}

實現非常簡單,但是我想知道是否已經有一個類可以執行這樣的操作。

這是稱為“ 繩索 ”的常規數據結構的特例,該結構在鏈接列表或樹中排列(字符或其他形式)數組的段。 目標通常是加快數組/字符串中間的插入或刪除速度,或以最少的復制來支持無損操作,但是您可以通過共享持有您感興趣的共享子字符串的列表/樹元素來使用它來節省內存。 本文從繩索的簡要概述開始,盡管它比子字符串共享更關注有效的更新操作。

Java標准庫不包含繩索實現,但是很容易編寫自己的庫或嘗試使用現有的庫(如本文中所述)。 庫建議在Stack Overflow上不合時宜,因此我無法提供更多指導。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM