De Java sträng klasser, String och StringBuffer, ligger på extremerna i ett spektrum (ogenomträngliga, referens-baserade och muterbara, innehållsbaserade). Analogt, tillgängliga textsökningsmetoder på strängklasser genomförs antingen som triviala, brute-force dubbla slingor, eller som mycket sofistikerade och resurskrävande regelbundna uttryck sökmetoder. Motiverade av vår erfarenhet av dataintensiva textapplikationer föreslår vi en ny strängklass, MutableString, som försöker få rätt balans mellan ytterligheter i båda fallen. Mutabla strängar kan vara i ett av två tillstånd, kompakt och lös, där de beter sig mer som String och StringBuffer, respektive. Dessutom stöder de ett brett spektrum av sofistikerade textsökningsalgoritmer med en mycket låg resursanvändning och installationstid, med hjälp av en ny, mycket enkel randomiserad datastruktur (en generalisering av Bloom filter) som lagrar en approximation från ovan av en lattice-värderad funktion. För att beräkna funktionsvärdet krävs ett konstant antal steg, och sannolikheten för fel kan balanseras med användning av utrymme. Som ett resultat, vi får praktiska implementationer av Boyer-Moore typ algoritmer som kan användas med mycket stora alfabet, såsom Unicode collation element. De tekniker vi utvecklar är mycket generella och mottagliga för ett brett spektrum av tillämpningar.
Boldi m.fl. genomfört en klass MutableString som kombinerar fördelarna med klasserna String och StringBuffer REF.
Mutable strings in Java: design, implementation and lightweight text-search algorithms
{'venue': 'Sci. Comput. Program.', 'journal': None, 'mag_field_of_study': ['Computer Science']}