Java中的STL

本文介绍了Java中ArrayList和Stack两种常用数据结构的使用方法,包括元素的添加、删除、查找、修改及基本操作示例。展示了如何通过ArrayList实现类似栈的行为,以及Stack的栈特性应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import java.math.*;
import java.io.*;
import java.math.*;
import java.util.Scanner;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Comparator;
import java.util.Iterator;
import java.util.Comparator; 
public class Zz {
	 
    public static void main(String[] args) {
        
    //vector
    	//ArrayList<>()是空向量
    	ArrayList<Integer> a=new ArrayList<>();    	
    	ArrayList<Integer> b=new ArrayList<>();
   /*添加元素*/ 	a.add(1);  a.add(2);   a.add(3);
    	System.out.println(a);//[1, 2, 3]
   /*输出元素*/  for(int i=0;i<a.size();i++)
   {
	   System.out.print(a.get(i)+" ");//1 2 3 
   }
   System.out.println();
   /*修改元素*/  a.set(2, 7777);
 for(int i=0;i<a.size();i++)
    {
 	   System.out.print(a.get(i)+" ");//1 2 7777 
    }
 System.out.println();
   /*插入元素*/  a.add(1, 7);
   for(int i=0;i<a.size();i++)
   {
	   System.out.print(a.get(i)+" ");//1 7 2 7777  
   }
    System.out.println();
   /*查找元素*/  System.out.println(a.indexOf(1));//a.indexOf(元素值)返回第一次的位置,找不到返回-1
              System.out.println(a.lastIndexOf(2));
   /*删除元素*/ a.remove(0);//下标
   System.out.println(a);//[2, 3]
   /*删除第一个出现x的元素||最后一个*/
   a.remove(a.indexOf(7));
   for(int i=0;i<a.size();i++)
   {
	   System.out.print(a.get(i)+" ");//2 7777  
   }
    System.out.println();
    /*clone*/
    b=a;
    for(int i=0;i<a.size();i++)
    {
 	   System.out.print(a.get(i)+" ");//2 7777  
    }
     System.out.println();
     
    }
  
}

import java.math.*;
import java.util.Scanner;
import java.util.Stack;
import java.util.LinkedList;
import java.util.Queue;
import java.util.Comparator;
import java.util.Iterator;
import java.util.Comparator; 
public class Zz {
	 
    public static void main(String[] args) {
        
    //栈
    	Stack<Integer> s = new Stack<>();
    /*入栈*/    s.add(1); s.add(2); s.add(3);
    for(int i=0;i<s.size();i++)
    {
    	System.out.print(s.get(i)+" ");//1 2 3
    }
    System.out.println();
    /*删除栈顶元素*/    s.pop();
    for(int i=0;i<s.size();i++)
    {
    	System.out.print(s.get(i)+" ");//1 2 
    }
    System.out.println();
    /*返回栈顶元素*/    System.out.println(s.lastElement());//2 
    
    
    //队列
    LinkedList<Integer> q=new LinkedList<>();
    /*入队*/   q.add(1); q.add(2); q.add(3);
       for(int i=0;i<q.size();i++)
       {
       	System.out.print(q.get(i)+" ");//1 2 3
       }
       System.out.println();
     /*队首出*/  q.poll();
       for(int i=0;i<q.size();i++)
       {
       	System.out.print(q.get(i)+" ");//2 3
       }
       System.out.println();
     /*返回队首*/  System.out.println(q.peek());//2
    }     
}
}

LinkedList就是栈和队列的合体

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

沉梦昂志️

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值