高分求教一个java数据结构顺序表的问题

2024-11-22 10:07:34
推荐回答(1个)
回答1:

Java代码:

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class test {
public static void main(String[] args) {
Note note = new Note();
note.append("春节已经过了...");
note.append("元宵节也已经过了...");
note.append("清明节也过了...");
note.displayAll();

note.replace("清明节也过了...", "清明节刚刚过去...");
note.displayAll();

note.remove("清明节刚刚过去...");
note.displayAll();

note.sort();
System.out.println("排序后:");
note.displayAll();
    }
}

/**
 * 电子便签类
 * @author developer_05
 * @version 2016.06.29
 */
class Note {
/**
 * 便签内容
 */
protected List list;

/**
 * 构造便签对象
 */
public Note() {
list = new ArrayList();
}

/**
 * 查找key在便签列表中是否存在
 * @param key 待查找便签内容
 * @return key在便签中是否存在,true:存在,false:不存在
 */
public boolean find(String key) {
for(String value : list) {
if(value.equals(key)) {
return true;
}
}
return false;
}

/**
 * 插入一条便签内容到便签列表的末尾
 * @param value 待插入便签的内容
 * @return true:插入成功,false:插入失败
 */
public boolean append(String value) {
if(find(value)) {
System.out.println("便签内容已经存在!");
return false;
}

return list.add(value);
}

/**
 * 从便签列表中删除一条便签
 * @param value 待删除便签的内容
 * @return true:删除成功,false:删除失败
 */
public boolean remove(String value) {
if(! find(value)) {
System.out.println("便签内容不存在!");
return false;
}

return list.remove(value);
}

/**
 * 将便签列表中内容为source的便签替换为destination
 * @param source 替换前的内容
 * @param destination 替换后的内容
 * @return true:替换成功,false:替换失败
 */
public boolean replace(String source, String destination) {
if(! find(source)) {
System.out.println("便签内容不存在!");
return false;
}

int index = list.indexOf(source);
list.remove(index);
list.add(index, destination);
return true;
}

/**
 * 对便签列表进行排序,按非递减有序排列
 */
public void sort() {
Collections.sort(list);
}

/**
 * 显示便签列表的所有项
 */
public void displayAll() {
System.out.println("便签列表一览:");
for(int i=0; i System.out.printf("%-2d:%s\n", (i+1), list.get(i));
}
}
}


运行测试:

便签列表一览:
1 :春节已经过了...
2 :元宵节也已经过了...
3 :清明节也过了...
便签列表一览:
1 :春节已经过了...
2 :元宵节也已经过了...
3 :清明节刚刚过去...
便签列表一览:
1 :春节已经过了...
2 :元宵节也已经过了...
排序后:
便签列表一览:
1 :元宵节也已经过了...
2 :春节已经过了...