指定された区切り記号で入力文字列をトークン化するデータ リーダーがあります。トークンは ArrayList に移動し、区切り文字は別の ArrayList に移動します。例えば:
this + is - an * input
この文は、「this」、「is」、「an」、および「input」がトークン配列に移動し、「+」、「-」、および「*」が delimiters 配列に移動するようにトークン化されます。ここで、トークンのインデックスが 0、2、4、および 6 になり、区切り記号のインデックスが 1、3、および 5 になるように、これらの元のインデックスも保存する必要があります。通常の解決策は、それらを同じ配列ですが、パフォーマンス上の理由からそれらを分離しておく必要があります (たとえば、区切り記号をすばやく確認するため)。
トークン インデックス 'i' がある場合、すべての区切り記号をループせずにインデックス 'i+1' から区切り記号を簡単に取得できるように、このインデックス付けをどのように行うことができますか?