文章目录
- 1.测试ArrayList和LinkedList存储,查询效率
- 2.使用LinkedList实现自定义栈和队列功能的类,提供添加,获取元素的方法.
- 3.定义一个String类型的ArrayList集合,去除ArrayList中的重复元素。
- 4.已知有十六支男子足球队参加2008 北京奥运会。 写一个程序,把这16 支球队随机分为4 个组,每组4只球队。采用List集合和随机数
1.测试ArrayList和LinkedList存储,查询效率
package com.boyi.itLianXi.collection;
import java.util.ArrayList;
import java.util.LinkedList;
public class CharuZengjia {
public static void main(String[] args) {
/*
*测试插入耗时
*/
ArrayList<Integer> arrayListInsert=new ArrayList<>();
LinkedList<Integer> linkedListInsert=new LinkedList<>();
for (int i = 0; i < 100000; i++) {
arrayListInsert.add(i);
linkedListInsert.add(i);
}
//ArrayList插入测试
Long arrayStart=System.currentTimeMillis();
for (int i = 0; i < 100000; i++) {
arrayListInsert.add(1000,1);
}
Long arrayEnd=System.currentTimeMillis();
System.out.println("ArrayList插入的时间"+(arrayEnd-arrayStart)+"毫秒");
//LinkedList插入测试
Long linkedStart=System.currentTimeMillis();
for (int i = 0; i < 100000; i++) {
linkedListInsert.add(1000,1);
}
Long linkedEnd=System.currentTimeMillis();
System.out.println("ArrayList插入的时间"+(linkedEnd-linkedStart)+"毫秒");
System.out.println("---------------------------");
/*
*测试查询耗时
*/
ArrayList<Integer> arrayListFind=new ArrayList<>();
LinkedList<Integer> linkedListFind=new LinkedList<>();
for (int i = 0; i < 100000; i++) {
arrayListFind.add(i);
linkedListFind.add(i);
}
//测试ArrayList查询耗时
Long arrayListFindStart = System.currentTimeMillis();
for (int i = 0; i < 100000; i++) {
arrayListFind.get(10000);
}
Long arrayListFindEnd = System.currentTimeMillis();
System.out.println("ArrayList查询耗时为"+(arrayListFindEnd-arrayListFindStart )+"毫秒");
//测试linkedList查询耗时
long linkedListFindStart = System.currentTimeMillis();
for(int i=0;i<100000; i++){
linkedListFind.get(10000);
}
long linkedListFindEnd = System.currentTimeMillis();
System.out.println("LinkedList查询耗时为"+(linkedListFindEnd-linkedListFindStart)+"毫秒");
}
}
运行结果:
2.使用LinkedList实现自定义栈和队列功能的类,提供添加,获取元素的方法.
package com.boyi.itLianXi.collection;
import java.util.LinkedList;
/*
*Lifo:先进后出
* 堆
*/
public class useLinkedListAsLifo {
public static void main(String[] args) {
LinkedList stack=new LinkedList();
stack.push("1");
stack.push("2");
stack.push("3");
stack.push("4");
stack.push("5");
//打印栈元素
System.out.println(stack);
//删除栈顶元素%弹出zhandingyuansu
System.out.println(stack.pop());
//检测栈顶元素
System.out.println(stack.peek());
//打印栈元素
System.out.println(stack);
}
}
运行结果:
package com.boyi.itLianXi.collection;
/*
*先进先出
* 队
*/
import java.util.LinkedList;
public class useLinkedListAsfifo {
public static void main(String[] args) {
LinkedList queue=new LinkedList();
queue.add(1);
queue.add(2);
queue.add(3);
queue.add(4);
queue.add(5);
System.out.println(queue);
System.out.println(queue.remove());
System.out.println(queue.element());
System.out.println(queue);
}
}
运行结果:
3.定义一个String类型的ArrayList集合,去除ArrayList中的重复元素。
package com.boyi.itLianXi.collection;
import java.util.ArrayList;
import java.util.Iterator;
public class arrayListRemove {
public static void main(String[] args) {
ArrayList<String> a=new ArrayList<>();
a.add("I");
a.add("I");
a.add("Like");
a.add("I");
a.add("Freedom");
a.add("I");
a.add("Freedom");
a.add("Love");
for (int i = 0; i < a.size(); i++) {
for (int j = i+1; j < a.size(); j++) {
if(a.get(i).equals(a.get(j))){
a.remove(j);
j--;
}
}
}
Iterator it=a.iterator();
while(it.hasNext()){
String s=(String)it.next();
System.out.println(s);
}
}
}
运行结果;
4.已知有十六支男子足球队参加2008 北京奥运会。 写一个程序,把这16 支球队随机分为4 个组,每组4只球队。采用List集合和随机数
2008 北京奥运会男足参赛国家:
科特迪瓦,阿根廷,澳大利亚,塞尔维亚, 荷兰,尼日利亚,
日本,美国,中国,新西兰,巴西,比利时,韩国,喀麦隆,
洪都拉斯,意大利.
package com.boyi.itLianXi.collection;
/*
* 科特迪瓦,阿根廷,澳大利亚,塞尔维亚,荷兰,尼日利亚,日本,美国,中国,
新西兰,巴西,比利时,韩国,喀麦隆,洪都拉斯,意大利.
* */
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
public class Football {
public static void main(String[] args) {
String s0;
List<String> ls=new ArrayList<>();
ls.add("科特迪瓦");
ls.add("阿根廷");
ls.add("澳大利亚");
ls.add("塞尔维亚");
ls.add("荷兰");
ls.add("尼日利亚");
ls.add("日本");
ls.add("美国");
ls.add("中国");
ls.add("新西兰");
ls.add("巴西");
ls.add("比利时");
ls.add("韩国");
ls.add("柯麦隆");
ls.add("洪都拉斯");
ls.add("意大利");
Random rd=new Random();
for(int i=0;i<4;i++){
System.out.println(i+"组:");
for (int j = 0; j < 4; j++) {
s0=ls.get(rd.nextInt(ls.size()));
System.out.print(" "+s0);
ls.remove(s0);
}
System.out.println();
}
}
}
运行结果: