[問題] 在String中插入多個String(類似字典

看板AndroidDev作者 (Ted)時間7年前 (2017/06/15 15:27), 編輯推噓2(204)
留言6則, 2人參與, 最新討論串1/1
原本我假設是這樣: String str = "這是一個測試的字串"; ArrayList<String> inputA = new ArrayList<>(); // 要插入的字串A ArrayList<Integer> indexA = new ArrayList<>(); // 要插入的字串A的位置 inputA.add("0"); inputA.add("2"); inputA.add("4"); inputA.add("6"); indexA.add(0); indexA.add(2); indexA.add(4); indexA.add(6); 然後將字串插入: int count = 0; for(int i = 0; i < indexA.size(); i++) { str = str.substring(0, indexA.get(i) + count) + inputA.get(i) // 插入字串 + str.substring(indexA.get(i) + count); count++; } 正確結果: 0這是2一個4測試6的字串 但是如果我插入兩個以上的字串就不知道該怎麼處理了… ArrayList<String> inputB = new ArrayList<>(); // 要插入的字串B ArrayList<Integer> indexB = new ArrayList<>(); // 要插入的字串B的位置 inputB.add("a"); inputB.add("b"); inputB.add("c"); indexB.add(2); indexB.add(3); indexB.add(4); 然後加上上面的結果應該要是: (如果字串A跟字串B在同一個位置,字串B要在字串A後面) 0這是2a一b個4c測試6的字串 這裡原本是想寫成像字典的註解那樣, 但是註解有兩種以上,插入的位置就很難抓了… 有人知道這裡該怎麼寫嗎? 想了兩天還是想不出來… -- By ALi Project グランギニョル                仏語で「操り人形」または「人形劇」を指す。       普通は19世紀末のパリに実在した劇場「グラン・ギニョル座」を指す。  この劇場では人形の代わりに人間が出演し,残酷でエロチックな恐怖劇を演じた。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.222.191.73 ※ 文章網址: https://www.ptt.cc/bbs/AndroidDev/M.1497511651.A.777.html

06/15 15:59, , 1F
先照要插入的位置排序,依序插入,每個插入位置要加上前面
06/15 15:59, 1F

06/15 16:00, , 2F
已插入字串的長度總和
06/15 16:00, 2F

07/02 23:58, , 3F
先把B,C,D...的合併到A再做插入
07/02 23:58, 3F

07/03 00:08, , 4F
B-index跑迴圈,判斷A-Index是否contains,再對A-Input那
07/03 00:08, 4F

07/03 00:08, , 5F
個index做set A+B,三個以上Input以此類推,最後A再對原
07/03 00:08, 5F

07/03 00:08, , 6F
文合併
07/03 00:08, 6F
文章代碼(AID): #1PGZRZTt (AndroidDev)
文章代碼(AID): #1PGZRZTt (AndroidDev)