我写的关于容器的一个小程序

原创 2007年09月18日 23:04:00

package execise;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Iterator; 
import java.util.Map;
import java.util.Set;
public class Test {

 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  int l = 0;
  List l1 = new ArrayList();
  PhoneNumber pn = new PhoneNumber("021", "852369", "789");
  l1.add(pn);
  l1.add(new PhoneNumber("021", "456123", "123"));
  l1.add(new PhoneNumber("021", "456473", "145"));
  l1.add(new PhoneNumber("021", "456153", "323"));
  l1.add(new PhoneNumber("021", "456120", "923"));
  for (Iterator it = l1.iterator(); it.hasNext(); ){
   System.out.println(l1.get(l));
   it.next();
   l++;
  }
  l1.add(5,pn);
  System.out.println(l1.contains(pn));
  System.out.println(l1.lastIndexOf(pn));
  
  Map<String, PhoneNumber> m = new HashMap<String, PhoneNumber>();
  m.put("a", new PhoneNumber("021", "555555", "555"));
  m.put("b", new PhoneNumber("021", "111111", "111"));
  m.put("c", new PhoneNumber("021", "999999", "999"));
  Set s = m.keySet();
  Collection c = m.values();
  Set s1 = m.entrySet();
  Set s2 = new HashSet();
  s2.add(new PhoneNumber("021", "555555", "555"));
  s2.add(new PhoneNumber("021", "111111", "111"));
  s2.add(new PhoneNumber("021", "999999", "999"));
  for (Iterator it = s2.iterator(); it.hasNext();){
   System.out.println(it.next());
  }
  
  System.out.println(s);
  System.out.println(c);
  for (Iterator it = s1.iterator(); it.hasNext();){
   Map.Entry me = (Map.Entry)it.next();
   System.out.println(me.getKey() + "--" + me.getValue());
  }
  for (Iterator it = s1.iterator(); it.hasNext();){
   Map.Entry me = (Map.Entry)it.next();
   me.setValue("aa" + it);
   System.out.println(me.getKey() + "---" + me.getValue());
   //System.out.println(me.getKey() + "--" + me.getValue());
  }
  for (Object sp : l1) {
   System.out.println(sp);
  }
 }
}
class PhoneNumber implements Cloneable{
 private String quhao;
 private String dianhuahaoma;
 private String kuozhan;
 public String getQuhao() {
  return quhao;
 }

 public void setQuhao(String quhao) {
  this.quhao = quhao;
 }

 public String getDianhuahaoma() {
  return dianhuahaoma;
 }

 public void setDianhuahaoma(String dianhuahaoma) {
  this.dianhuahaoma = dianhuahaoma;
 }

 public String getKuozhan() {
  return kuozhan;
 }

 public void setKuozhan(String kuozhan) {
  this.kuozhan = kuozhan;
 }

 public PhoneNumber(String dianhuahaoma, String kuozhan, String quhao){
  this.dianhuahaoma = dianhuahaoma;
  this.kuozhan = kuozhan;
  this.quhao = quhao;
 }
 public PhoneNumber(){
  
 }
 public boolean equals (Object obj) {
  if (null == obj) {
   return false;
  }
  if (this == obj) {
   return true;
  }
  if (!(obj instanceof PhoneNumber)) {
   return false;
  }
  PhoneNumber temp = (PhoneNumber) obj;
  if ((this.dianhuahaoma.equals(temp.dianhuahaoma)) && (this.kuozhan.equals(temp.kuozhan)) && (this.quhao.equals(temp.quhao))) {
   return true;
  }
  else{
   return false;
  }
 }
 protected Object clone() throws CloneNotSupportedException{
  super.clone();
  PhoneNumber result = new PhoneNumber();
  result.setDianhuahaoma(this.dianhuahaoma);
  result.setKuozhan(this.kuozhan);
  result.setQuhao(this.quhao);
  return result;
 }
 public String toString(){
  return this.getClass().getName() + '@' + Integer.toHexString(hashCode());
 }
 public int hashcode(){
  int result = 17;
  result = result * 37 + quhao.length();
  result = result * 37 + dianhuahaoma.length();
  result = result * 37 + kuozhan.length();
  return result;
 }
 protected void finalize(){
  
 }
 public void setContent(String dianhuahaoma, String kuozhan, String quhao) {
  this.dianhuahaoma = dianhuahaoma;
  this.kuozhan = kuozhan;
  this.quhao = quhao;
 }

写一个自己的Spring框架——简单实现IoC容器功能

学习过Spring的同学都知道,Spring框架的核心就是IoC和AOP。Spring可以理解为一个工厂,负责对象的创建和对象间关系的维护。IoC即控制反转,简单点说就是原来的对象是在要使用之前通过在...

如何写一个RPC框架(二):利用Bean容器和动态代理简化客户端代码

在后续一段时间里, 我会写一系列文章来讲述如何实现一个RPC框架。 这是系列第二篇文章, 主要讲述了如何利用Spring以及Java的动态代理简化调用别的服务的代码。 在本系列第一篇文章中,我们说到了...

自己写一个简单的Spring IOC容器

为了能更好的理解SpirngIOC是如何工作的,在查阅网上的资料后,自己写了一个非常简单的SpringIOC容器,使用setter方法将值注入。 本例子需要用到jdom的包:http://pan.ba...

[DI] -- php写一个轻量级的容器

原文地址: https://my.oschina.net/cxz001/blog/227482 摘要: 理解什么是Di/IoC,依赖注入/控制反转。两者说的是一个东西,是当下流行的一种设计模式。...
  • lmjy102
  • lmjy102
  • 2017年05月11日 17:02
  • 288

这里想经过一个小程序研究标准库为 vector 对象提供的内存分配策,因为vector容器比list和deque容器用的很多,而且它的存储方式是连续的

我写一个简单的程序来区分vector容器size()和capacity()函数,这里capacity函数就是为vector容器预留了空间,不需要每次增添元素就要重新分配内存,这样效率上提高了很多,我通...
  • JY_He
  • JY_He
  • 2015年08月21日 13:54
  • 691

程序解:现有3L容器和5L容器各一个,问如何量出4L水(水无限)

public class test{ private static Status[] steps = new Status[100]; public static void main(Stri...
  • haoyyy
  • haoyyy
  • 2014年06月07日 00:25
  • 855

用Java写的一个类似QQ登陆界面的程序 Java QQ登陆界面

import java.awt.*; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:我写的关于容器的一个小程序
举报原因:
原因补充:

(最多只允许输入30个字)