java中常用的数据结构

  1. PriorityQueue优先队列
    //定义优先队列的比较器
     Comparator<String> cmp;
     cmp = new Comparator<String>() {  
     @Override
     public int compare(String o1, String o2) {
         // TODO Auto-generated method stub
         return o1.val-o2.val;
     }
     };
     //建立队列
     PriorityQueue<String> q = new PriorityQueue<String>(cmp);
        ArrayList<Integer> result = new ArrayList<>();
        for(int i = 0; i < numbers.length; i++){
            result.add(numbers[i]);
        }
        Collections.sort(result, new Comparator<Integer>(){
            public int compare(Integer a, Integer b){
                String s1 = a+""+b;
                String s2 = b+""+a;
                return s1.compareTo(s2);
            }
        });
  1. peek() //返回队首元素
  2. poll() //返回队首元素,队首元素出队列
  3. add() //添加元素
  4. offer() //添加元素
  5. size() // 返回队列元素个数
  6. isEmpty() // 判断队列是否为空, 为空返回true, 不空返回false
    1. Queue队列
    Queue<String> queue = new LinkedList<String>();
    offer()、poll()、peek()
    获取头元素的方法
    1. 获取并移除
    poll()   获取并移除此队列的头,如果此队列为空,则返回 null
    remove()  获取并移除此队列的头,如果此队列为空,则抛出NoSuchElementException异常
    1. 获取但不移除
    peek()  获取队列的头但不移除此队列的头。如果此队列为空,则返回 null
    element()  获取队列的头但不移除此队列的头。如果此队列为空,则将抛出NoSuchElementException异常
    1. 添加元素的方法
    offer()  将指定的元素插入此队列(如果立即可行且不会违反容量限制),插入成功返回 true;否则返回 false。当使用有容量限制的队列时,offer方法通常要优于 add方法——add方法可能无法插入元素,而只是抛出一个 IllegalStateException异常
    add()  将指定的元素插入此队列
    1. Stack
    import java.util.Stack
    push()、pop()、peek()、empty()
    1. ArrayList 动态数组
      ![图片说明](https://uploadfiles.nowcoder.com/images/20200309/128682809_1583737628962_C69F2426466D337F09C74E2B2F26755A "图片标题")
      contains();
      size();
    2. LinkedList 双向链表数组
      ![图片说明](https://uploadfiles.nowcoder.com/images/20200309/128682809_1583737914978_FE189B44F25B61E308C4B92E74C99141 "图片标题")
    3. StringBuilder常用方法
  7. append(String str)/append(Char c);
  8. toString();
  9. setCharAt(int i, char c);
  10. length();
  11. charAt();
全部评论

相关推荐

01-07 11:46
Java
如图:也是让我遇到逆天公司了,实习生是按天给工资,不忙直接强制休假了
baskly:公司为北京超图软件股份有限公司武汉分公司,明年公司应该会招新实习生,刷到的小伙伴快跑
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
2025-12-17 16:48
今天九点半到公司,我跟往常一样先扫了眼电脑,屁活儿没有。寻思着没事干,就去蹲了个厕所,回来摸出手机刷了会儿。结果老板刚好路过,拍了我一下说上班别玩手机,我吓得赶紧揣兜里。也就过了四十分钟吧,我的直属领导把我叫到小隔间,上来就给我一句:“你玩手机这事儿把老板惹毛了,说白了,你可以重新找工作了,等下 HR 会来跟你谈。” 我当时脑子直接宕机,一句话都没憋出来。后面 HR 找我谈话,直属领导也在旁边。HR 说我这毛病不是一次两次了,属于屡教不改,不光上班玩手机,还用公司电脑看论文、弄学校的事儿。我当时人都傻了,上班摸鱼是不对,可我都是闲得发慌的时候才摸啊!而且玩手机这事儿,从来没人跟我说过后果这么严重,更没人告诉我在公司学个习也算犯错!连一次口头提醒都没有,哪儿来的屡教不改啊?更让我膈应的是,昨天部门刚开了会,说四个实习生里留一个转正,让大家好好表现。结果今天我就因为玩手机被开了。但搞笑的是,开会前直属领导就把我叫去小会议室,明明白白告诉我:“转正这事儿你就别想了,你的学历达不到我们部门要求,当初招你进来也没打算给你这个机会。”合着我没入贵厂的眼是吧?可我都已经被排除在转正名单外了,摸个鱼至于直接把我开了吗?真的太离谱了!
rush$0522:转正名单没进,大概率本来就没打算留你
摸鱼被leader发现了...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务