`

重写ArrayList及HashMap的toString

 
阅读更多

重写ArrayList
import java.util.AbstractCollection;
import java.util.Iterator;
class ArrayListSon<E> extends AbstractCollection<E> {
    
    public String toString() {
        Iterator<E> i = iterator();
	if (! i.hasNext())
	    return "[]";

	StringBuilder sb = new StringBuilder();
	sb.append('[');
	for (;;) {
	    E e = i.next();
	    sb.append(e == this ? "(this Collection)" : e);
	    if (! i.hasNext())
		return sb.append(']').toString();
	    sb.append("| ");
	}
    }

@Override
public Iterator iterator() {
	// TODO Auto-generated method stub
	return null;
}

@Override
public int size() {
	// TODO Auto-generated method stub
	return 0;
}
}


重写HashMap
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;


class ListOrderedMapSon<E> extends HashMap{
	
//重写HashMapSon类的toString()方法
	 public String toString()
	  {
	    if (isEmpty()) {
	      return "{}";
	    }
	    StringBuffer buf = new StringBuffer();
	    buf.append('{');
	    boolean first = true;
	    Iterator it = entrySet().iterator();
	    while (it.hasNext()) {
	      Map.Entry entry = (Map.Entry)it.next();
	      Object key = entry.getKey();
	      Object value = entry.getValue();
	      if (first)
	        first = false;
	      else {
	        buf.append("| ");
	      }
	      buf.append(key == this ? "(this Map)" : key);
	      buf.append('=');
	      buf.append(value == this ? "(this Map)" : value);
	    }
	    buf.append('}');
	    return buf.toString();
	  }
    
}
分享到:
评论

相关推荐

    HashMap排序

    List, Integer&gt;&gt; arrayList = new ArrayList(hashMap.entrySet()); Collections.sort(arrayList, new Comparator, Integer&gt;&gt;() { public int compare(Map.Entry, Integer&gt; o1, Map.Entry, Integer&gt; o2) { return o...

    Java与数据库项目实训_学生管理系统项目(面向对象练习).docx

    这个实训项目不仅要求实现基本的面向对象设计,还涉及I/O流(文件读写)、ArrayList和HashMap的使用,以及异常处理和Scanner的运用。通过这个项目,开发者将提升其在实际开发环境中的Java编程能力,特别是面向对象的...

    java中的equals()和toString()方法实例详解

    比如在集合类(如 `ArrayList` 或 `HashMap`)中,元素的比较和输出往往依赖于这两个方法。因此,确保自定义类的 `equals()` 和 `toString()` 方法正确实现是非常重要的,它能够提高代码的可读性和可维护性。 总的...

    Java编的几个类文件实现简单的电话簿功能

    它通常会包含一个电话簿数据结构(如ArrayList或HashMap),用于存储联系人信息。类中的方法可能包括添加联系人(`addEntry`)、查找联系人(`findContact`)以及将电话簿保存到文件(`saveToFile`)和从文件加载(`...

    Java 开发人员调度软件项目 (java基础编程总结项目)+javaBean+测试代码+数组知识+数据结构+继承+.pdf

    - 虽然在提供的代码片段中没有直接的数据结构示例,但在实际项目中,可能会用到数组、集合框架(如ArrayList、HashMap等)来存储和管理数据。 6. **异常处理**: - 文件描述提到了自定义异常和异常处理,这通常...

    Effecctive java 中文版

    当创建ArrayList、HashMap等集合时,明确指定容量可以减少扩容操作,提高性能。 8. **项8:优先使用枚举,而非int常量** 枚举类型提供自动的常量定义,内置的遍历机制,以及方法的实现,比使用整数常量更安全、更...

    IO集合增强for循环练习

    1.定义公司员工类Employee,属性有:工号,姓名,性别,工资(double类型),进行属性的隐藏和封装,重写toString. 2.将D:/Employee.txt文件用程序复制到项目根目录; 3.读取项目根目录下的文件Employee.txt内容存入ArrayList ...

    面试军火库-花琪尧.pdf

    * String:String 为字符串常量,其值不可变,所以在使用 String 类型的字符串在进行字符串拼接的时候会调用 toString 方法,例如:字符串 str1 和 字符串 str2 进行拼接,会额外 new 一个 String 来存 str1+str2,...

    BTA 常问的 Java基础39道常见面试题及详细答案.docx

    在HashMap中,hashCode用于计算存储位置,重写hashCode方法可以优化哈希表的性能,避免哈希冲突。 10. **ArrayList、LinkedList、Vector的区别**: - ArrayList基于动态数组,随机访问速度快,插入删除慢。 - ...

    java代码-定义一个员工信息类Employee,使用ArrayList对员工信息进行添加和显示。

    // 可选方法:重写toString()以便于打印员工信息 @Override public String toString() { return "Employee{" + "id=" + id + ", name='" + name + '\'' + ", department='" + department + '\'' + ", salary...

    基于java的学生管理系统StudnetManager

    学习面向对象的主要特征和基本概念,包括类、对象、继承、接口、封装、继承、多态、方法的重载和重写、Java的访问修饰符与其它关键字等。 案例难度 ★★★★ 案例覆盖技能点 1、 I/O流 2、 ArrayList的使用 3、 ...

    JAVA 面试题

    10. **重载Overload与重写Override的区别:** 重载是在同一个类中定义多个同名方法但参数列表不同,重写是子类对父类的方法进行重新定义。 11. **abstract类和interface的区别:** abstract类可以有抽象方法也可以...

    Java八股文Java八股文

    - `toString()`:返回类名@哈希码的16进制表示。 - `notify()`和`notifyAll()`:唤醒等待在当前对象监视器上的一个或所有线程。 - `wait()`:使线程进入等待状态,可指定等待时间,释放对象锁。 2. **基本数据...

    Java面试题 .docx

    - equals()、hashCode()、toString()是Object类中的基础方法。 10. **NIO(Non-blocking Input/Output)**: - 提供了一种异步I/O模型,适用于高并发、低延迟的场景,如网络服务器。 11. **HashMap**: - 数据...

    华为java面试题.doc

    * 类:String、ArrayList、HashMap、Date * 包:java.lang、java.util、java.io、java.net * 接口:Runnable、Comparable、Serializable、Cloneable ArrayList,Vector,LinkedList 的存储性能和特性 ArrayList、...

    java基础复习(秋招、提前批)

    4. `toString()`方法:返回对象的字符串表示形式,通常是类名加上@符号和十六进制的哈希码。在实际开发中,我们经常重写此方法以提供更友好的信息输出。 5. `getClass()`方法:返回对象的运行时类,是一个final方法...

    Java SE编程入门教程 java object(共9页).pptx

    - Java集合框架包括Collection和Map接口,以及实现这些接口的具体类,如ArrayList、LinkedList、HashSet、HashMap等,它们提供了存储和操作对象的高效工具。 7. **其他基础概念**: - Java的IO流用于输入输出操作...

    个人心血吊打面试官 nb

    **十、HashMap底层原理及优化** - **JDK 1.7**:基于数组+链表实现,当发生哈希冲突时,新的元素将被插入到链表的头部。 - **JDK 1.8**:基于数组+链表+红黑树实现,当链表长度达到8时转换为红黑树,提高查找效率;...

    java常见函数实验

    4. **重写equals()和toString()方法**: `equals()`方法用于比较对象是否相等,而`toString()`方法返回对象的字符串表示。在自定义类`User`中,我们可以覆盖这两个方法,使两个`User`对象在ID和姓名相同的情况下被...

    尚硅谷_宋红康_第12章节练习_泛型.doc

    提供对应的getter和setter方法,同时重写`toString()`方法,以便于打印新闻时呈现特定格式。在测试类中,我们可以创建一个`ArrayList&lt;News&gt;`来存储这些新闻对象。遍历集合,打印每个新闻的标题,并对标题进行截取,...

Global site tag (gtag.js) - Google Analytics