JavaShowAlgorithm-找出数组中相同的元素
2017-10-27 18:59
344 查看
import java.util.ArrayList; public class Test { private String[] data = { "A", "A", "B", "C", "C", "D", "D", "D" }; // 存储分类好的数据元素。 private ArrayList<Group> groups = new ArrayList<Group>(); // 核心的算法实现。 public void find() { // 游标index int index = 0, j = 0; while (index < data.length) { Group group = new Group(); group.title = data[index]; String t = group.title; ArrayList<String> children = new ArrayList<String>(); for (j = index; j < data.length; j++) { String child = data[j]; if (t.equals(child)) { // 同时记录该重复出现的元素在原数组中的下标j,便于查验、评估结果。 children.add(child + "@" + j); } else { break; } } // 往后推进游标index index = j; group.children = children; groups.add(group); } } // 输出结果。 private void print() { for (int i = 0; i < groups.size(); i++) { Group g = groups.get(i); System.out.println(g); } } private class Group { public String title; public ArrayList<String> children; // 结果。 @Override public String toString() { String str = "组" + title + ": "; for (int i = 0; i < children.size(); i++) { str += children.get(i) + " "; } return str; } } public static void main(String args[]) { Test t = new Test(); t.find(); t.print(); } }
相关文章推荐
- JAVA两个数组间元素的比较(找出相同或者不同元素)
- JAVA两个数组间元素的比较(找出相同或者不同元素)
- java找出2个集合或数组相同和不同的元素(以及去除List中的重复元素)
- java找出2个集合相同和不同的元素(以及去除List中的重复元素)
- Java判断2个数组里是否包含相同的元素(长度一致)
- 找出整数数组中出现次数超过数组长度一半的元素(Java)
- java 过滤数组(把数组里面元素相同的元素替换为0)
- [JAVA]给定两个整形数组,并找出其中共同的元素
- Java对数组的操作(三)—比较两个数组中的元素是否相同的最简单方法
- JAVA比较两个数组中的元素是否相同
- matlab 找出两数组中相同的元素
- 比较二个数组,找出"相同"或"不同"元素
- JAVA代码—算法基础:找出整形数组中只出现过1次的两个元素
- java获取2个数组中相同与不相同的元素(授权场景)
- Java实现升序排列的整形数组A,元素两两不相等找出A[i]=i的数据
- java处理int[]数组相同元素
- java 实现从无序数组中 找出第k大的数, 无序数组充许有重复元素
- 找出有序整数数组中下标与值相同的所有元素
- 面试题——找出数组中不相同的所有元素(是数组,不是集合)
- java数组清除相同元素