数组、字符串和集合中的增、删、查、改

一.数组

(1.)数组的遍历

(1.)for

int[] arr = new int[n];
for (int i = 0; i < arr.length; i++) {			
}

(2.)foreach

int[] arr = new int[n];
for (int i : arr) {			
}

总结:
foreach遍历方式的特点:
1.简化了遍历
2.foreach没有索引
3.foreach底层还是使用了普通for遍历

编译时期系统会读取foreach的格式,转化普通for格式

 int ai[];
	int k = (ai = arr).length;
	for (int j = 0; j < k; j++)
	{
	int  = ai[j];
		System.out.println(i);
	}
( 2.)增删查改
  • :public static void add(int num){} : 在数组后添加一个int;
public static void add(int num) {
		int[] descArr = Arrays.copyOf(srcArr, srcArr.length + 1);
		descArr[descArr.length - 1] = num;
		srcArr = descArr;
	}
  • :public static void remove(int index) {} : 将数组中的某个索引处的元素删除
 	public static void remove(int index) {
		int[] descArr = new int[srcArr.length - 1];
		System.arraycopy(srcArr, 0, descArr, 0, index);
		System.arraycopy(srcArr, index + 1, descArr, index, descArr.length - index);
		srcArr = descArr;
	}
  • :数组名 [数组索引]
  • :public static void insert(int index, int num) {} :往数组的任意位置插入一个元素
public static void insert(int index, int num) {
		int[] descArr = new int[srcArr.length + 1];
		System.arraycopy(srcArr, 0, descArr, 0, index);
		descArr[index] = num;
		System.arraycopy(srcArr, index, descArr, index + 1, srcArr.length - index);
		srcArr = descArr;
	}

2.字符串

(1.)字符串的遍历

1.toCharArray()
(1.)char[] toCharArray(): 将字符串转化为字符数组。
(2.)for循环或者foreach遍历字符数组

String s1="HelloWorld";
char[] ch = s1.toCharArray();
		for (char c : ch) {
			System.out.print(c);
		}

2.charAt(int index)
(1.)charAt(int index):输入字符串对应下标获取该下标对应的字符
(2.)for循环遍历(foreach不可用)

String s1="HelloWorld";
		for (int i = 0; i < s1.length(); i++) {
			System.out.println(s1.charAt(i));
		}
(2.)增删查改
  • 增:String concat(String str):将指定字符串连接到此字符串的结尾。
   public String concat(String str) {
        int otherLen = str.length();
        if (otherLen == 0) {
            return this;
        }
        int len = value.length;
        char buf[] = Arrays.copyOf(value, len + otherLen);
        str.getChars(buf, len);
        return new String(buf, true);
    }
  • :
    (1.)indexOf(int ch):输入字符获取对应的下标
    (2.)indexOf(String str) :输入的字符串位于哪个位置
    (3.)int indexOf(int ch,int fromIndex) :从fromIndex索引开始,查找第一次出现ch字符的索引
    (4.)int indexOf(String str,int fromIndex):从fromIndex索引开始,查找第一次出现str字符串的索引
    (5.)int lastIndexOf(int ch) 从后面数;字符ch的索引
  • *
    (1.)String replace(char old,char new) :替换功能。
    (2.)String replace(String old,String new) :替换功能。
 public String replace(char oldChar, char newChar) {
        if (oldChar != newChar) {
            int len = value.length;
            int i = -1;
            char[] val = value; /* avoid getfield opcode */

            while (++i < len) {
                if (val[i] == oldChar) {
                    break;
                }
            }
            if (i < len) {
                char buf[] = new char[len];
                for (int j = 0; j < i; j++) {
                    buf[j] = val[j];
                }
                while (i < len) {
                    char c = val[i];
                    buf[i] = (c == oldChar) ? newChar : c;
                    i++;
                }
                return new String(buf, true);
            }
        }
        return this;
    }
  • :可医用replace将字符或者字符串替换成 “” 来实现删除目的

3.集合

(1.)集合的遍历

(1.)Object[] toArray()

public static void main(String[] args) {
		Collection c = new ArrayList();
		c.add("李逵");
		c.add("武松");
		c.add("武大郎");
		System.out.println(c);		
		Object[] arrs = c.toArray();
		for (int i = 0; i < arrs.length; i++) {
			System.out.println(arrs[i]);
		}

(2.)Iterator iterator():迭代器

Iterator  it = c.iterator();//获取迭代器,并创建迭代器对象
		while (it.hasNext()) {
			object e =  it.next();
			System.out.println(e);
		}
(2.)增删查改
  • 增:
    (1.)boolean add(Object obj) :在后面添加object类对象
    (2.) boolean addAll(Collection c) :在后面添加一个集合
  • 删:
    (1.)void clear() : 清空集合
    (2.)boolean remove(Object o) :删除某个object类对象
    (3.)boolean removeAll(Collection<?> c):删除任意集合对象
  • 查:(遍历思想)
    (1.) Iterator iterator()
    (2.)Object[] toArray()
    (3.) T[] toArray(T[] a)
  • **改:**可以利用删除的方法实现;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值