重写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();
}
}
分享到:
相关推荐
List, Integer>> arrayList = new ArrayList(hashMap.entrySet()); Collections.sort(arrayList, new Comparator, Integer>>() { public int compare(Map.Entry, Integer> o1, Map.Entry, Integer> o2) { return o...
这个实训项目不仅要求实现基本的面向对象设计,还涉及I/O流(文件读写)、ArrayList和HashMap的使用,以及异常处理和Scanner的运用。通过这个项目,开发者将提升其在实际开发环境中的Java编程能力,特别是面向对象的...
比如在集合类(如 `ArrayList` 或 `HashMap`)中,元素的比较和输出往往依赖于这两个方法。因此,确保自定义类的 `equals()` 和 `toString()` 方法正确实现是非常重要的,它能够提高代码的可读性和可维护性。 总的...
它通常会包含一个电话簿数据结构(如ArrayList或HashMap),用于存储联系人信息。类中的方法可能包括添加联系人(`addEntry`)、查找联系人(`findContact`)以及将电话簿保存到文件(`saveToFile`)和从文件加载(`...
- 虽然在提供的代码片段中没有直接的数据结构示例,但在实际项目中,可能会用到数组、集合框架(如ArrayList、HashMap等)来存储和管理数据。 6. **异常处理**: - 文件描述提到了自定义异常和异常处理,这通常...
当创建ArrayList、HashMap等集合时,明确指定容量可以减少扩容操作,提高性能。 8. **项8:优先使用枚举,而非int常量** 枚举类型提供自动的常量定义,内置的遍历机制,以及方法的实现,比使用整数常量更安全、更...
1.定义公司员工类Employee,属性有:工号,姓名,性别,工资(double类型),进行属性的隐藏和封装,重写toString. 2.将D:/Employee.txt文件用程序复制到项目根目录; 3.读取项目根目录下的文件Employee.txt内容存入ArrayList ...
* String:String 为字符串常量,其值不可变,所以在使用 String 类型的字符串在进行字符串拼接的时候会调用 toString 方法,例如:字符串 str1 和 字符串 str2 进行拼接,会额外 new 一个 String 来存 str1+str2,...
在HashMap中,hashCode用于计算存储位置,重写hashCode方法可以优化哈希表的性能,避免哈希冲突。 10. **ArrayList、LinkedList、Vector的区别**: - ArrayList基于动态数组,随机访问速度快,插入删除慢。 - ...
// 可选方法:重写toString()以便于打印员工信息 @Override public String toString() { return "Employee{" + "id=" + id + ", name='" + name + '\'' + ", department='" + department + '\'' + ", salary...
学习面向对象的主要特征和基本概念,包括类、对象、继承、接口、封装、继承、多态、方法的重载和重写、Java的访问修饰符与其它关键字等。 案例难度 ★★★★ 案例覆盖技能点 1、 I/O流 2、 ArrayList的使用 3、 ...
10. **重载Overload与重写Override的区别:** 重载是在同一个类中定义多个同名方法但参数列表不同,重写是子类对父类的方法进行重新定义。 11. **abstract类和interface的区别:** abstract类可以有抽象方法也可以...
- `toString()`:返回类名@哈希码的16进制表示。 - `notify()`和`notifyAll()`:唤醒等待在当前对象监视器上的一个或所有线程。 - `wait()`:使线程进入等待状态,可指定等待时间,释放对象锁。 2. **基本数据...
- equals()、hashCode()、toString()是Object类中的基础方法。 10. **NIO(Non-blocking Input/Output)**: - 提供了一种异步I/O模型,适用于高并发、低延迟的场景,如网络服务器。 11. **HashMap**: - 数据...
* 类:String、ArrayList、HashMap、Date * 包:java.lang、java.util、java.io、java.net * 接口:Runnable、Comparable、Serializable、Cloneable ArrayList,Vector,LinkedList 的存储性能和特性 ArrayList、...
4. `toString()`方法:返回对象的字符串表示形式,通常是类名加上@符号和十六进制的哈希码。在实际开发中,我们经常重写此方法以提供更友好的信息输出。 5. `getClass()`方法:返回对象的运行时类,是一个final方法...
- Java集合框架包括Collection和Map接口,以及实现这些接口的具体类,如ArrayList、LinkedList、HashSet、HashMap等,它们提供了存储和操作对象的高效工具。 7. **其他基础概念**: - Java的IO流用于输入输出操作...
**十、HashMap底层原理及优化** - **JDK 1.7**:基于数组+链表实现,当发生哈希冲突时,新的元素将被插入到链表的头部。 - **JDK 1.8**:基于数组+链表+红黑树实现,当链表长度达到8时转换为红黑树,提高查找效率;...
4. **重写equals()和toString()方法**: `equals()`方法用于比较对象是否相等,而`toString()`方法返回对象的字符串表示。在自定义类`User`中,我们可以覆盖这两个方法,使两个`User`对象在ID和姓名相同的情况下被...
提供对应的getter和setter方法,同时重写`toString()`方法,以便于打印新闻时呈现特定格式。在测试类中,我们可以创建一个`ArrayList<News>`来存储这些新闻对象。遍历集合,打印每个新闻的标题,并对标题进行截取,...