------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------
List集合
|--ArrayList
|--Vector
|--LinkedList
(1) List的子类特点
ArrayList:
底层数据结构是数组,查询快,增删慢
线程不安全,效率高
Vector:
底层数据结构是数组,查询快,增删慢
线程安全,效率低
LinkedList:
底层数据结构是链表,查询慢,增删快
线程不安全,效率高
(2)Vector
A:有特有功能
a:添加
public void addElement(E obj)-- add()
b:获取
public E elementAt(int index)-- get()
public Enumeration<E> elements()-- iterator()
(3)LinkedList
A:有特有功能
a:添加
addFirst()
addLast()
b:删除
removeFirst()
removeLast()
(2) c:获取
getFirst()
getLast()
(3)
不知道用什么List
要安全吗?
是:Vector
否:ArrayList或者LinkedList
查询多:ArrayList
增删多:LinkedList
如果你知道是List,但是不知道是哪个List,就用ArrayList。
(4) 三人斗地主(ArrayList版)
package co.wang2;
import java.util.ArrayList;
import java.util.Collections;
/*
*
* 三人斗地主arraylist版(未排序)
* 分析:
* 1、定义一个牌合
* 2、装牌
* 3、洗牌
* 4、发牌
* 5、看牌
*
*/
public class pokeDemo {
public static void main(String[] args) {
ArrayList<String> array=new ArrayList<String>();
//装牌
//定义两个数组
String[]colors= {"♠","♣","方片","红桃"}; //输入法原因,未能打出理想的方片红桃图标
String[]numbers= {"A","2","3","4","5","6","7","8","9","10","J","Q","K"};
for (String color:colors){
for(String number:numbers){
array.add(color.concat(number));
}
}
array.add("小王");
array.add("大王");
//洗牌
Collections.shuffle(array);
System.out.println(array);
//发牌
ArrayList<String> player1= new ArrayList<String>();
ArrayList<String> player2= new ArrayList<String>();
ArrayList<String> player3= new ArrayList<String>();
ArrayList<String> dipai= new ArrayList<String>();
for(int x=0;x<array.size();x++){
if(x>=array.size()-3){
dipai.add(array.get(x));
}
if(x %3==0){
//玩家1的牌
player1.add(array.get(x));
}else //拿牌对3取余来发牌
if(x %3==1)
{
//2
player2.add(array.get(x));
}else if (x%3==2)
{
//3
player3.add(array.get(x));
}
}
//看牌,写一个功能
//掉方法
lookPoker("玩家1",player1);
lookPoker("玩家2", player2);
lookPoker("玩家3", player3);
lookPoker("底牌", dipai);
}
public static void lookPoker(String name,ArrayList<String> array){
System.out.print(name+ ": ");
for(String s:array)
{ //增强for遍历牌数组
System.out.print(s);
System.out.print(" ");
}
System.out.println();
}
}