Ai
2 Star 0 Fork 0

CS-IMIS-23/20172309_javaProgramming

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
OrderedArrayList.java 1.49 KB
一键复制 编辑 原始数据 按行查看 历史
20172309 提交于 2018-10-08 15:46 +08:00 . 基于ArrayList实现的有序列表
package second_term.sixth_chapter;
public class OrderedArrayList<T> extends ArrayList<T> implements OrderedListADT<T> {
public OrderedArrayList(){
super();
}
public OrderedArrayList(int initialCapacity){
super(initialCapacity);
}
@Override
public void add(T element) {
if (!(element instanceof Comparable))
throw new NonComparableElementException("OrderedList");
Comparable<T> comparableElement = (Comparable<T>)element;
if (size() == list.length)
expandCapacity();
int scan = 0;
// find the insertion location
while (scan < rear && comparableElement.compareTo(list[scan]) > 0)
scan++;
// shift existing elements up one
for (int shift=rear; shift > scan; shift--)
list[shift] = list[shift-1];
// insert element
list[scan] = element;
rear++;
modCount++;
}
public static void main(String []args){
OrderedListADT list = new OrderedArrayList();
// list.add("Hello");
// list.add("Java");
list.add(5);//子类有序ArrayList的测试
list.add(6);
list.add(2);
list.add(10);
System.out.println("自动排序后的顺序");
System.out.println(list);
System.out.println(list.removefirst());//父类ArrayList的方法测试
System.out.println(list.removeLast());
System.out.println(list.first());
System.out.println(list);
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/CS-IMIS-23/20172309_javaProgramming.git
git@gitee.com:CS-IMIS-23/20172309_javaProgramming.git
CS-IMIS-23
20172309_javaProgramming
20172309_javaProgramming
master

搜索帮助