日期:2014-05-20 浏览次数:21068 次
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 移动设备游戏
?????? 移动增值短信彩信彩铃运营商
给企业管理生产销售物流财务等等就是网上办公网上管库存