Commit 7786caa7 authored by 时良荣's avatar 时良荣

彭晖=Java培训-数组

parent 03a2e4ba
package com.exercise.eighth;
import java.util.Arrays;
/**
* 4.写一段代码,实现System.arraycopy方法的功能
* @author elliot
*/
public class ExerciseFifth {
public static void main(String[] args) {
int[] nums = {1, 2, 3, 4, 5, 6};
int[] newNums = new int[10];
arraycopy(nums, 1, newNums, 2, 3);
System.out.println(Arrays.toString(newNums));
}
private static void arraycopy(Object[] src, int srcPos, Object[] dest, int destPos, int length) {
for (int i = 0; i < length; i++) {
dest[destPos++] = src[srcPos++];
}
}
private static void arraycopy(float[] src, int srcPos, float[] dest, int destPos, int length) {
for (int i = 0; i < length; i++) {
dest[destPos++] = src[srcPos++];
}
}
private static void arraycopy(double[] src, int srcPos, double[] dest, int destPos, int length) {
for (int i = 0; i < length; i++) {
dest[destPos++] = src[srcPos++];
}
}
private static void arraycopy(int[] src, int srcPos, int[] dest, int destPos, int length) {
for (int i = 0; i < length; i++) {
dest[destPos++] = src[srcPos++];
}
}
}
package com.exercise.eighth;
/**
* 彭晖=Java培训-数组
* .定义一个数组,其中元素为公司的一级部门名称,按照【下标:值】
* 格式打印出来。
* 如:0:xxx, 1:xxx, 2:xxx
* @author elliot
*/
public class ExerciseFirst {
public static void main(String[] args) {
String[] company = {"内部服务中心", "客户成功中心", "市场中心", "技术中心", "产品中心"};
for(int i=0; i < company.length; i++){
System.out.println(i+":"+company[i]);
}
}
}
package com.exercise.eighth;
import java.util.HashMap;
import java.util.Map;
/**
* 统计数组【1,5,6,12,1,32,5,6】中每个元素出现的次数
* @author elliot
*/
public class ExerciseFourth {
public static void main(String[] args) {
int[] nums = {1, 5, 6, 12, 1, 32, 5, 6};
System.out.println(counter(nums).toString());
}
private static Map<Integer, Integer> counter(int[] array) {
Map<Integer, Integer> map = new HashMap<>();
for (int element: array) {
map.put(element, map.getOrDefault(element, 0) + 1);
}
return map;
}
}
package com.exercise.eighth;
import java.util.Arrays;
/**
* 将int数组【99、23、34、67、123、234、1、98】按照升序排列
* @author elliot
*/
public class ExerciseSecond {
public static void main(String[] args) {
int[] nums = {99, 23, 34, 67, 123, 234, 1, 98};
Arrays.sort(nums);
System.out.println(Arrays.toString(nums));
}
}
package com.exercise.eighth;
import java.util.*;
/**
* 去掉数组【1、2、3、4、2、2、1、5、6】中的重复元素
* @author elliot
*/
public class ExerciseThird {
public static void main(String[] args) {
int[] nums = {1, 2, 3, 4, 2, 2, 1, 5, 6};
int[] news = intsUnique(nums);
System.out.println(Arrays.toString(news));;
}
/**
* int[] 数组去重
* @param arr
* @return
*/
public static int[] intsUnique(int[] arr){
int[] news = new int[getNoRepeatNum(arr)];
int index = 0;
for (int i = 0; i < arr.length; i++) {
if(Arrays.binarySearch(news, arr[i]) < 0){
news[index] = arr[i];
index ++;
}
}
return news;
}
/**
* 去重后的元素个数
* @param ints
* @return
*/
public static int getNoRepeatNum(int[] ints) {
List list = new ArrayList();
for(int i=0; i<ints.length; i++){
if(!list.contains(ints[i])){
list.add(ints[i]);
}
}
return list.size();
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment