java新手学习笔记(4)

2019-01-27 18:44

} } /**

* @author Hujun * */

class EmpManage { private static ArrayList al= new ArrayList();

// public EmpManage() { // al = new ArrayList(); // } public static void addEmp() { Employee e=new Employee(); System.out.println(\请输入员工名字:\ e.setName(EasyScanner.nextString());

}

System.out.println(\请输入员工工号:\e.setNumber(EasyScanner.nextString()); System.out.println(\请输入员工工资:\e.setSal(EasyScanner.nextFloat()); al.add(e);

public static Employee findEmp(String number) { for (int i = 0; i < al.size(); i++) { Employee temp = (Employee) al.get(i); if (number.equals(temp.getNumber())) return temp; } return null; }

public static void showInf(String number) { Employee temp = null; temp = findEmp(number); if (temp == null) System.out.println(\查无此人!\ else System.out.println(temp.getName() + \

+ temp.getSal()); } public static void updateSal(String number, float sal) { Employee temp = null; temp = findEmp(number); if (temp == null) System.out.println(\查无此人!\ else { temp.setSal(sal); } } public static void removeEmp(String number) { Employee temp = null; temp = findEmp(number); if (temp == null) System.out.println(\查无此人!\ else { al.remove(temp); } } public static void showAll() { for (int i = 0; i < al.size(); i++) { Employee temp=(Employee) al.get(i); System.out.println(temp.getName() + \ + temp.getSal()); } } }

class Employee { String name; String number; float sal; public Employee(String name, String number, float sal) { super(); this.name = name; this.number = number;

}

}

this.sal = sal;

public Employee() { // TODO Auto-generated constructor stub }

public String getName() { return name; }

public void setName(String name) { this.name = name; }

public String getNumber() { return number; }

public void setNumber(String number) { this.number = number; }

public float getSal() { return sal; }

public void setSal(float sal) { this.sal = sal; }

2、LinkedList

有顺序的添加删除查找,first/last addFirst/addLast removeFirst

3、Vector

Vector vv=new Vector(); vv.add(emp2);

4、Stack

Stack stack=new Stack(); stack.add(emp2);

5、HashMap

通过键值对存储数据。 //创建一个HashMap对象 HashMap hm=new HashMap(); hm.put(\ hm.put(\ //通过键值对查找 if(hm.containsKey(\ { System.out.println(\ Employee emp=(Employee) hm.get(\ } else System.out.println(\

HashMap遍历 // // //

//HashMap遍历所有key和value for (int i = 0; i < hm.size(); i++) { //由于无法知道所有的key,所以该方法不能实现遍历 }

//Iterator迭代器

Iterator it=hm.keySet().iterator();

//hasNext返回下一个key

while (it.hasNext()) { }

//取出key

String key=it.next().toString(); //通过key取出value

Employee emp=(Employee) hm.get(key); System.out.println(emp.getName());

6、Hashtable

Hashtable ht=new Hashtable();

ht.put(\ht.get(\

7、区别

HashMap和Hashtable

一、后者基于陈旧的Dictionary类 二、同步性:

HashMap没有同步机制,是异步的,其对象不是线程安全的; Hashtable是同步的,线程安全的,但效率低一些。

三、值

HashMap可以将空值作为一个条目的key或value. Hashtable不可以。

ArrayList和Vector 一、同步性

Vector是同步的。 ArrayList是异步的。 二、数据增长

如果元素长度超过内部数组长度,Vector缺省情况下自动增加一倍数组长度,ArrayList自动增加50%。

存放大量数据时,采用Vector。

8、总结

如果要求线程安全,使用Vector/Hashtable;


java新手学习笔记(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:公务员考试申论备考秘籍

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: