java速学教程(入门到精通)
java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
类图
/** * 自定义集合接口, 类似java.util.Collection * 用于数据存储 * @author stone * */ public interface ICollection<t> { IIterator<t> iterator(); //返回迭代器 void add(T t); T get(int index); }</t></t>
/** * 自定义迭代器接口 类似于java.util.Iterator * 用于遍历集合类ICollection的数据 * @author stone * */ public interface IIterator<t> { boolean hasNext(); boolean hasPrevious(); T next(); T previous(); }</t>
/** * 集合类, 依赖于MyIterator * @author stone */ public class MyCollection<t> implements ICollection<t> { private T[] arys; private int index = -1; private int capacity = 5; public MyCollection() { this.arys = (T[]) new Object[capacity]; } @Override public IIterator<t> iterator() { return new MyIterator<t>(this); } @Override public void add(T t) { index++; if (index == capacity) { capacity *= 2; this.arys = Arrays.copyOf(arys, capacity); } this.arys[index] = t; } @Override public T get(int index) { return this.arys[index]; } }</t></t></t></t>
/* * 迭代器(Iterator)模式 又叫做游标(Cursor)模式 * 提供一种方法访问一个容器(container)对象中各个元素,而又不需暴露该对象的内部细节。 * Iterator模式就是分离了集合对象的遍历行为,抽象出一个迭代器类来负责,这样既可以做到不暴露集合的内部结构,又可让外部代码透明的访问集合内部的数据 * * 若有新的存储结构,可new 一个ICollection, 对应的 new 一个IIterator来实现它的遍历 */ @SuppressWarnings({"rawtypes", "unchecked"}) public class Test { public static void main(String[] args) { ICollection<integer> collection = new MyCollection<integer>(); add(collection, 3, 5, 8, 12, 3, 3, 5); for (IIterator<integer> iterator = collection.iterator(); iterator.hasNext();) { System.out.println(iterator.next()); } System.out.println("-------------"); ICollection collection2 = new MyCollection(); add(collection2, "a", "b", "c", 3, 8, 12, 3, 5); for (IIterator iterator = collection2.iterator(); iterator.hasNext();) { System.out.println(iterator.next()); } } static <t> void add(ICollection<t> c, T ...a) { for (T i : a) { c.add(i); } } }</t></t></integer></integer></integer>
打印
3 5 8 12 3 3 5 ------------- a b c 3 8 12 3 5
Java免费学习笔记:立即学习
解锁 Java 大师之旅:从入门到精通的终极指南
已抢6847个
抢已抢91871个
抢已抢14438个
抢已抢50706个
抢已抢190958个
抢已抢86405个
抢