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 移动设备游戏
移动增值短信彩信彩铃运营商
给企业管理生产销售物流财务等等就是网上办公网上管库存