日期:2014-05-20 浏览次数:21266 次
ArrayList实现了list 的接口,且允许有空值。
?
一、数组与ArrayList的主要区别:效率、类型识别和primitive type。
数组([]):最高效;但是其容量固定且无法动态改变;
ArrayList:容量可动态增长;但牺牲效率;
建议:
首先使用数组,无法确定数组大小时才使用ArrayList!
?
二、早上做了个智力题。题目是1到2010这几个数之间。将这些数围成一圈,第一次删除1、3、5、7...奇数的。之后再围成一个圈。再重复上面的操作。结果答案是1024
主函数:main(String[] args) {
List init = new ArrayList<Integer>();
List jg = new ArrayList<Integer>();
zl2010 z=new zl2010();
for (int i = 1; i <= 2010; i++) {
init.add(i);
}
jg =z.getList(init);
while(jg.size()>=2){
System.out.println(jg.size());
jg =z.getList(jg);
}
System.out.println(jg.size());
System.out.println(jg.get(0));
}
public List getList(List init){
List result = new ArrayList<Integer>();
for (int j = 1; j <= init.size(); j++) {
if (j % 2 == 0) {
result.add(init.get(j-1));
}
}
return result;
}
?
刚开始想到这个题的时候,就想到要用ArrayList 来实现 因为他的大小可以改变,有add()和remove()方法;
?
对数组进行排序:
int vec[] = {37, 47, 23, -5, 19, 56};
Arrays.sort(vec);
for (int i = 0; i < vec.length; i++) {
System.out.println(vec[i]);
}
?排序好后进行二分查找:注意 调用这方法前要先排序
?
int vec[] = {-5, 19, 23, 37, 47, 56};
int slot = Arrays.binarySearch(vec, 35);
slot = -(slot + 1);
System.out.println("insertion point = " + slot);
?将数组转化为list
Object vec[] = {new Integer(37), new Integer(47)};
List lst = Arrays.asList(vec);
lst.set(1, new Integer(57));
for (int i = 0; i < vec.length; i++) {
System.out.println(vec[i]);
}
?将list转化为数组
Object vec[] = lst.toArray();
?
时间复杂度
链表
?J2EE 本身就是一套标准他包含了企业级应用
?Jre? j2se runtime environment
?Jdk j2se development kit?
?
本身就是一套标准他包含了企业级应用
?
?? ?Java.lang 包含一些语言的核心类如
? ? string math integer system thread 等提供常用功能
??? Java.awt 包含了构成抽象窗口工具集(abstract window toolkits)的多个类
??? Java.applet 包含运行所需的一些类
??? Java.io 包含提供多种输入和输出功能的类
??? Java.util 包含一些实用工具类,如定义系统特性,使用与日期日历相关的函数
?
????? ?J2me 移动设备游戏
?????? 移动增值短信彩信彩铃运营商
给企业管理生产销售物流财务等等就是网上办公网上管库存