亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

java入門第三季6.3章問題

問一下,indexOf(str)能查找到第一個str,那么如果一個List里有好幾個同樣的str,我應該怎么查找第二個、第三個……乃至于第五個?這種既不是第一個也不是最后一個的需求,應該怎么樣滿足?

正在回答

5 回答

	/**
	?*?查找第n個課程名出現的index
	?*?
	?*?@param?n
	?*/
	public?int?search(int?n)?{
		Course?course?=?new?Course();
		course.name?=?console.next();
		int?index?=?-1;
		if?(ListToSelect.contains(course))?{
			index?=?ListToSelect.indexOf(course);
			while?(n?>?1)?{
				index?=?ListToSelect.subList(ListToSelect.indexOf(course)?+?1,?ListToSelect.size()).indexOf(course);
				n--;
			}
		}
		return?index;
	}


2 回復 有任何疑惑可以回復我~
#1

define_ray

隨便寫了寫
2017-08-27 回復 有任何疑惑可以回復我~

一般先獲取第一次出現的index,然后調用List的subList(fromIndex,toIndex)方法取得他的子序列,然后子序列再調用indexOf方法??梢杂靡粋€循環,設置一個變量記錄查找的個數,達到個數的時候終止循環。

3 回復 有任何疑惑可以回復我~
#1

define_ray

上面都是扯淡,這個方法還行~
2017-08-27 回復 有任何疑惑可以回復我~

你可以重新寫一下indexof,比如在其中增加一個計數器,每次索引到值定對象就加一,直到計數值達到你想要找的個數,再將其索引位置值返回。

0 回復 有任何疑惑可以回復我~

一個一個找,找到就記錄位置,計數加一,最后根據計數返回要找的位置

0 回復 有任何疑惑可以回復我~

java中提供給你方法了 你可以拿來直接用 如果沒提供 你就應該自己去定義一個這樣的方法了。。。

加油 !方法很多,給你個思路,直接遍歷集合 然后逐個判斷如果元素相等,那么記錄這個元素的位置,剩下的你還不會,那最好還是在吧基礎復習一下。。。

1 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

java入門第三季6.3章問題

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號