java数组如何进行插入删除(很菜的问题)

java数组如何进行插入删除(很菜的问题),第1张

java数组插入实现思路:

可以把某个整数插入到整型数组的特定位置,数组中原有元素向后移动

删除方法:能够从整形数组中特定位置删除掉一个元素,数组中原有元素向前移动

程序代码:

InsertDelete.java:

package p1

import com.kettas.common.*

import java.util.*

public class InsertDelete

{

 static int[] a={4,2,7,3,5}//初始数组

 static int sum=5//数组的有效位数

 public static void main(String[] args)

 {  

  System.out.println("初始数组为:")

  output()

  while(true)

  {

    System.out.println(" *** 作:1:插入;2:删除;3:退出")

    int option=SystemIn.readInt()

    if(option==1)

    {

       System.out.println("请输入插入的位置:")

       int pos=SystemIn.readInt()

       System.out.println("请输入要插入的数:")

       int num=SystemIn.readInt()

       add(pos,num)

       System.out.println("插入后的数组为:")

       output()

    }

    else if(option==2)

    {

       System.out.println("请输入要删除的数的位置:")

       int pos1=SystemIn.readInt()

       move(pos1)

       System.out.println("删除后的数组为:")

       output()

    }

    else 

       break

   }

  }

static void add(int pos,int num)

 {  //将num插入到数组的第pos下标中,其他元素向后移动

  if(sum == a.length)

  {     // 扩充数组空间

   a=Arrays.copyOf(a,a.length*2) 

  }

  for(int i=sumi>posi--)

  {

   a[i]=a[i-1] 

  }

  a[pos]=num

  sum++  //有效位数加1

 }

 

 static void move(int pos)

 {  //删除数组中下标为pos的元素

  sum--  //有效位数减1

  for(int i=posi<sumi++) 

  {

   a[i]=a[i+1]

  }  

 }

 

 static void output()

 {   // 遍历输出数组中的元素

  for(int i=0i<sumi++)

  {

   System.out.print(a[i]+" ")

  }

  System.out.println()

 }

}

测试结果:

用顺序表java.util.List接口

你可以选择用ArrayList或是LinkedList,前者是数组实现,后者是链表实现。

例如: List list = new ArrayList()

具体的相关 *** 作可以参考java提供的API文档

// 定义接口 public interface SyUsersService {

/***新增用户*/

public void addSyUser(SyUsers syUsers)

/***根据用户名得到用的注册信息***/

public SyLeaguer isRightPasswordProtect(SyLeaguer syLeaguer)

/***更新用户的密码***/

public void updateSyUserPassword(SyUsers syUsers)

/***用户登录验证***/

public boolean checkSyUserLogin(SyUsers syUsers)

/**

* 更新用户状态 * @param loginName 登录名 * @param state 状态号 0/1

* @return 是否更新成功 true/flase

*/

public boolean updateSyUserState(String loginName,Integer state)

/**

* 分页查询用户信息

* @param pageNo 页号

* @param pageSize 页面大小

* @param hqlQueryRule 查询规则

* @return Page 分页查询对象

*/

public Page querySyUserPage(int pageNo,int pageSize,HqlQueryRule hqlQueryRule)

/**

* 更新用户密码

* @param loginName 登录名 * @param oldPassword 旧的密码

* @param newPassword 新的密码

*/

public void updateSyUserPassword(String loginName,String oldPassword,String newPassword)

/**

* 根据查询规则查询用户

* @see HqlQueryRule

* @param hqlQueryRule 查询规则

* @return 结果集列表 */

public List querySyUser(HqlQueryRule hqlQueryRule)

/**

* 根据登录名获取用户信息 * @param loginName

* @return

*/

public SyUsers getSyUserByLoginName(String loginName)

/**

* 根据登录名获取用户信息

* @param loginName

* @return

*/

public boolean isRepeatUser(String loginName)

/**

* 更新用户

* @param loginName

* @return

*/

public void updateSyUsers(SyUsers syUsers)

}

// 实现接口 public class SyUsersServiceImp extends

org.springframework.orm.hibernate3.support.HibernateDaoSupport

implements SyUsersService {

protected static final Log logger = LogFactory.getLog(SyUsersServiceImp.class)public SyUsersServiceImp() {}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11785413.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-18
下一篇2023-05-18

发表评论

登录后才能评论

评论列表(0条)

    保存