*List 是接口,繼承至Collection接口(Collection接口下還有個Queue接口,有PriorityQueue類);
創(chuàng)新互聯(lián)建站服務(wù)項目包括西市網(wǎng)站建設(shè)、西市網(wǎng)站制作、西市網(wǎng)頁制作以及西市網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,西市網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到西市省份的部分城市,未來相信會繼續(xù)擴大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!*List下有ArrayList,Vector,LinkedList類;
*在第一次add的時候才會為ArrayList底層的elementDate分配內(nèi)存,且大小為10;
*List和ArrayList的區(qū)別: 在java中List list=new List();會導(dǎo)致編譯出錯,這是因為List是一個接口,接口不能被實例化。雖然List不能直接被實例化,但是他可以通過繼承自本接口的實現(xiàn)類的對象實例化List對象,如List list=new ArrayList();List接口有多個實現(xiàn)類,現(xiàn)在用的是ArrayList,如果要將其更換成其它的實現(xiàn)類,如 LinkedList或者Vector等等,這時只需要改變這一行就行了: List list = new LinkedList();但這種實例化只能調(diào)用List接口中的方法,不能調(diào)用ArrayList中的方法。
*實例化對象可以以參數(shù)形勢傳參
LinkedListlist = new LinkedList<>();
list.add(11);
list.add(12);
list.add(13);
ArrayListarraylist = new ArrayList<>(list);
arrayList.add(1);
//輸出[11,12,13,1]
*三種遍歷方法
//方法一 普通for循環(huán)遍歷
System.out.println("普通for循環(huán)遍歷");
for (int i = 0; i< list.size(); i++) {
System.out.println(list.get(i));
}
//方法二 增強for
System.out.println("增強for");
for (int i : list) {
System.out.println(i);
}
//方法三 迭代器遍歷
System.out.println("迭代器遍歷");
Iteratorit = list.iterator();
while (it.hasNext()) {
System.out.println(it.next());
}
*contains方法
import java.util.ArrayList;
public class demo6 {
public static void main(String[] args) {
ArrayListlist = new ArrayList<>();
String s1="welcome to bit";
String s2="come";
for (int i = 0; i< s1.length(); i++) {
char ch=s1.charAt(i);
if(!s2.contains(ch+"")){
list.add(ch);
}
}
for (int i = 0; i< list.size(); i++) {
System.out.print(list.get(i));
}
}
}
輸出:
* 順序表(ArrayList)
適合給定下標(biāo)查找,不適合插入、刪除、擴容操作。
*練習(xí)1:楊輝三角
package work;
import java.util.ArrayList;
import java.util.List;
public class demo5 {
public static void main(String[] args) {
List>ret=generate(5);
System.out.println(ret);
}
public static List>generate(int numPows) {
List>ret = new ArrayList<>();
Listrow = new ArrayList<>();
row.add(1);
ret.add(row);
for (int i = 1; i< numPows; i++) {
ListprevRow=ret.get(i-1);
ListcurRow=new ArrayList<>();
curRow.add(1);
for (int j = 1; j< i; j++) {
int x=prevRow.get(j)+prevRow.get(j-1);
curRow.add(x);
}
curRow.add(1);
ret.add(curRow);
}
return ret;
}
}
*練習(xí)2:紙牌游戲
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class Test {
//定義一個靜態(tài)集合作為容器放54張牌
public static Listallcards = new ArrayList<>();
//定義一個靜態(tài)代碼塊使排對應(yīng)花色
static {
//定義一個數(shù)組放牌
String[] sizes = {"3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A", "2"};
//定義一個數(shù)組放花色
String[] colors = {"?", "?", "?", "?"};
int index=0;
//遍歷數(shù)組,每張牌都有4種花色
for (String size : sizes) {
index++;
for (String color : colors) {
//每個數(shù)字和花色是一張牌對象
Card card = new Card(size, color,index);
//每張牌放入集合中
allcards.add(card);
}
}
Card c1 = new Card("", "🃏",++index);
Card c2 = new Card("", "🃏",++index);
//把大小王放進集合
Collections.addAll(allcards, c1, c2);
System.out.println("新牌:" + allcards);
}
public static void main(String[] args) {
//洗牌
Collections.shuffle(allcards);
System.out.println("洗牌后:" + allcards);
//發(fā)牌給三個對象
Listdyy = new ArrayList<>();
Listlwy = new ArrayList<>();
Listbb = new ArrayList<>();
for (int i = 0; i< allcards.size()-3; i++) {
Card ch = allcards.get(i);
// 牌:6 5 4 9 8 2 4
//索引:0 1 2 3 4 5 6
// 人:0 1 2 0 1 2
if (i % 3 == 0) {
dyy.add(ch);
} else if (i % 3 == 1) {
lwy.add(ch);
} else if (i % 3 == 2) {
bb.add(ch);
}
}
//最后三張牌放入子集合,用subList來截取
ListlastCards=allcards.subList(allcards.size()-3,allcards.size());
sortCard(dyy);
sortCard(lwy);
sortCard(bb);
System.out.println("dyy:"+dyy);
System.out.println("lwy:"+lwy);
System.out.println("bb:"+bb);
System.out.println("三張底牌"+lastCards);
}
//排序方法
private static void sortCard(Listcards) {
Collections.sort(cards, new Comparator() {
@Override
public int compare(Card o1, Card o2) {
//升序
return o1.getIndex()- o2.getIndex();
}
});
}
}
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧
網(wǎng)站標(biāo)題:總結(jié):List接口-創(chuàng)新互聯(lián)
文章URL:http://www.rwnh.cn/article14/dcicge.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、網(wǎng)站建設(shè)、網(wǎng)站導(dǎo)航、定制網(wǎng)站、品牌網(wǎng)站設(shè)計、定制開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容