Java 实例 - 获取向量元素的索引值
以下实例演示了使用 Collections 类的 sort() 方法对向量进行排序并使用 binarySearch() 方法来获取向量元素的索引值:
import java.util.Collections; import java.util.Vector; public class Main { public static void main(String[] args) { Vector v = new Vector(); v.add("X"); v.add("M"); v.add("D"); v.add("A"); v.add("O"); Collections.sort(v); System.out.println(v); int index = Collections.binarySearch(v, "D"); System.out.println("元素索引值为 : " + index); } }
以上代码运行输出结果为:
[A, D, M, O, X] 元素索引值为 : 1
Java 实例 - 栈的实现
以下实例演示了用户如何通过创建用于插入元素的自定义函数 push() 方法和用于弹出元素的 pop() 方法来实现栈:
public class MyStack { private int maxSize; private long[] stackArray; private int top; public MyStack(int s) { maxSize = s; stackArray = new long[maxSize]; top = -1; } public void push(long j) { stackArray[++top] = j; } public long pop() { return stackArray[top--]; } public long peek() { return stackArray[top]; } public boolean isEmpty() { return (top == -1); } public boolean isFull() { return (top == maxSize - 1); } public static void main(String[] args) { MyStack theStack = new MyStack(10); theStack.push(10); theStack.push(20); theStack.push(30); theStack.push(40); theStack.push(50); while (!theStack.isEmpty()) { long value = theStack.pop(); System.out.print(value); System.out.print(" "); } System.out.println(""); } }
以上代码运行输出结果为:
50 40 30 20 10
Java 实例 - 链表元素查找
以下实例演示了使用 linkedlistname.indexof(element) 和 linkedlistname.Lastindexof(elementname) 方法在链表中获取元素第一次和最后一次出现的位置:
import java.util.LinkedList; public class Main { public static void main(String[] args) { LinkedList lList = new LinkedList(); lList.add("1"); lList.add("2"); lList.add("3"); lList.add("4"); lList.add("5"); lList.add("2"); System.out.println("元素 2 第一次出现的位置:" + lList.indexOf("2")); System.out.println("元素 2 最后一次出现的位置:"+ lList.lastIndexOf("2")); } }
以上代码运行输出结果为:
元素 2 第一次出现的位置:1 元素 2 最后一次出现的位置:5
Java 实例 - 压栈出栈的方法实现字符串反转
以下实例演示了使用用户自定义的方法 StringReverserThroughStack() 来实现字符串反转:
import java.io.IOException; public class StringReverserThroughStack { private String input; private String output; public StringReverserThroughStack(String in) { input = in; } public String doRev() { int stackSize = input.length(); Stack theStack = new Stack(stackSize); for (int i = 0; i < input.length(); i++) { char ch = input.charAt(i); theStack.push(ch); } output = ""; while (!theStack.isEmpty()) { char ch = theStack.pop(); output = output + ch; } return output; } public static void main(String[] args) throws IOException { String input = "www.nowcoder.com"; String output; StringReverserThroughStack theReverser = new StringReverserThroughStack(input); output = theReverser.doRev(); System.out.println("反转前: " + input); System.out.println("反转后: " + output); } class Stack { private int maxSize; private char[] stackArray; private int top; public Stack(int max) { maxSize = max; stackArray = new char[maxSize]; top = -1; } public void push(char j) { stackArray[++top] = j; } public char pop() { return stackArray[top--]; } public char peek() { return stackArray[top]; } public boolean isEmpty() { return (top == -1); } } }
以上代码运行输出结果为:
反转前: www.nowcoder.com 反转后: moc.redocwon.www
Java 实例 - 队列(Queue)用法
队列是一种特殊的线性表,它只允许在表的前端进行删除操作,而在表的后端进行插入操作。
LinkedList类实现了Queue接口,因此我们可以把LinkedList当成Queue来用。
以下实例演示了队列(Queue)的用法:
import java.util.LinkedList; import java.util.Queue; public class Main { public static void main(String[] args) { //add()和remove()方法在失败的时候会抛出异常(不推荐) Queue<String> queue = new LinkedList<String>(); //添加元素 queue.offer("a"); queue.offer("b"); queue.offer("c"); queue.offer("d"); queue.offer("e"); for(String q : queue){ System.out.println(q); } System.out.println("==="); System.out.println("poll="+queue.poll()); //返回第一个元素,并在队列中删除 for(String q : queue){ System.out.println(q); } System.out.println("==="); System.out.println("element="+queue.element()); //返回第一个元素 for(String q : queue){ System.out.println(q); } System.out.println("==="); System.out.println("peek="+queue.peek()); //返回第一个元素 for(String q : queue){ System.out.println(q); } } }
以上代码运行输出结果为:
a b c d e === poll=a b c d e === element=b b c d e === peek=b b c d e
Java 实例 - 获取向量的最大元素
以下实例演示了使用 Vector 类的 v.add() 方法及 Collection 类的 Collections.max() 来获取向量的最大元素
import java.util.Collections; import java.util.Vector; public class Main { public static void main(String[] args) { Vector v = new Vector(); v.add(new Double("3.4324")); v.add(new Double("3.3532")); v.add(new Double("3.342"));`在这里插入代码片` v.add(new Double("3.349")); v.add(new Double("2.3")); Object obj = Collections.max(v); System.out.println("最大元素是:"+obj); } }