问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

实现MyArrayList 要求实现add方法、sort方法(两个、正向排序、逆向排序)

发布网友 发布时间:2022-04-26 18:04

我来回答

2个回答

热心网友 时间:2023-10-19 23:59

package test;

import java.util.*;
public class test {
    public static void main(String[] args) throws Exception {

        MyArrayList myArrayList = new MyArrayList();
        myArrayList.add(79);
        myArrayList.add(23);
        myArrayList.add(56);
        myArrayList.add(5);
        for (int i : myArrayList.arr) {
            System.out.println(i);
        }
        myArrayList.sort();
        System.out.println("---升序---");
        for (int i : myArrayList.arr) {
            System.out.println(i);
        }
        myArrayList.sortDesc();
        System.out.println("---降序---");
        for (int i : myArrayList.arr) {
            System.out.println(i);
        }
    }
}

class MyArrayList {
    int index = 0;
    int[] arr = null;
    public boolean add(Integer i) {
        int[] temp = new int[++index];
        if (arr != null) {
            System.arraycopy(arr,0,temp,0,arr.length);
        }
        arr = temp;
        arr[index-1] = i;
        return true;
    }
    public boolean sort(){
        if (arr != null) {
            Arrays.sort(arr);
            return true;
        }
        return false;
    }
    public boolean sortDesc(){
        if (arr != null) {
            Arrays.sort(arr);
            int[] temp = new int[index];
            int tempIndex = 0;
            for (int i = index-1; i >-1; i--) {
                temp[tempIndex++] = arr[i];
            }
            arr = temp;
            return true;
        }
        return false;
    }
}

热心网友 时间:2023-10-19 23:59

简单的方式是继承ArrayList类,实现add方法,然后自定义两个排序方法,内部可以用equals比较。
比较复杂的方式是底层和ArrayList一样,封装一个数组,最好采用泛型。依次实现以上的几个的方法。
时间有限就不一一写了
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...的电器到成都,请问一下,那个航空快一些呀,多少/公斤? 前女友和我分手一年之后,出车祸死了,我很高兴,这种心理是不是不... 为什么听到前女友去世的消息,我竟然放声大哭,她很爱我,是我对她腻了... 兰州银行充天然气必须要本行卡吗 从服饰礼仪看中西方文化差异 为什么iqoo11评价那么低? 相机快门线的运用范围 快门线是干什么用的 请问这是什么虫子 还挺硬的 在楼房内 整理箱上面发现的 屋内有木质上... 请问这是什么虫子?家里抓到,2cm左右。坐标北京,昌平,冬季12月,楼房... 网银交易出现客户识别号是什么东西? java里升序和降序最简短的代码 Java中有一个排序操作的方法:java.util.Arrays.sort.()请问括号应该写什么 社会养老保险金已经交了二十多年了,还有最后三年已无力再交了,请问这样会影响退休金吗?退休了能按时拿 java中Arrays.sort使用的是什么算法 农村养老保险领取条件 养老保险如果交30年,现在每年交2400,到时候每个月能领多少钱拜托各位大神 java中Arrays.sort()是降序,那升序是什么? 山东潍坊地区村里交的养老保险是不是交的多领的就多多交合适吗 用java编程序 对一个由5个整数组成的数组,按照其内元素的大小依降序排序 java 我要降序排列和名称一并输出 但是要咋样写代码呢? 我只学过Arrays.sory(); 请求个为大哥帮下忙 谢谢 java数组的升序降序排列 在东莞买满十五年养老保险,退休后能领多少钱 最低养老保险领多少钱一个月多少钱一个月 c++算法头文件 sort怎么降序排列数组 java中的java.util.Arrays.sort这条语句是自动排序的语句吗 java.util.Arrays.sort(x); 这个表示对的是按 降序、升序还是其他的什么顺序进行排序的?高人指点 我能月领多少社会统筹养老金 java中怎样对一个整数数组进行降序排序 按3500元交社保退休能领多多钱 今天立秋了,看见盆友圈晒阿胶糕的,想问下二蛋妈纯手工阿胶糕,有人吃过吗?效果怎么样? 美国大选是怎么选的? 小泷胶阿胶糕有什么作用 美国大选及选举制度 手工阿胶糕的最佳食用方法? 美国大选的机制是怎么样的? 美国大选的程序是怎样的 美国总统是怎么选出来的 美国大选的规则是什么。 姚花妃阿胶糕效果怎么样 美国大选是直接选举还是间接选举 从美国研究生院招生流程看:如何选择美国大学 留学选校,美国,该怎么选? 汽车行驶、刹车音效 汽车行驶时是什么声音 拿到美国绿卡可以参与美国总统大选吗?就是成年了那样 美国大选最终决定如何产生? 求一个车开过的音效 美国大选票数一共500多票?怎么计算的票数 美国大选普选票是怎么得来的,上次的选举戈尔那比布什比50多万张的票是怎么得来的?