本文整理了Java中org.jgrapht.Graph.addVertex()
方法的一些代码示例,展示了Graph.addVertex()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Graph.addVertex()
方法的具体详情如下:
包路径:org.jgrapht.Graph
类名称:Graph
方法名:addVertex
[英]Creates a new vertex in this graph and returns it.
This method creates the new vertex v
using this graph's vertex supplier (see #getVertexSupplier()). For the new vertex to be added v
must not be equal to any other vertex in the graph. More formally, the graph must not contain any vertex v2
such that v2.equals(v)
. If such v2
is found then the newly created vertex v
is abandoned, the method leaves this graph unchanged and throws an IllegalArgumentException.
If the underlying graph implementation's #getVertexSupplier() returns null
, then this method cannot create vertices and throws an UnsupportedOperationException.
Care must also be taken when interchanging calls to methods Graph#addVertex(Object)and Graph#addVertex(). In such a case the user must make sure never to add vertices in the graph using method Graph#addVertex(Object), which are going to be returned in the future by the supplied vertex supplier. Such a sequence will result into an IllegalArgumentException when calling method Graph#addVertex().
[中]在此图中创建一个新顶点并返回它。
此方法使用此图的顶点供应器(请参见#getVertexSupplier())创建新顶点v
。对于要添加的新顶点,v
不得等于图形中的任何其他顶点。更正式地说,图形不能包含任何顶点v2
,这样v2.equals(v)
。如果找到这样的v2
,那么新创建的顶点v
将被放弃,该方法将保持此图不变,并抛出IllegalArgumentException。
如果基础图形实现的#getVertexSupplier()返回null
,则此方法无法创建顶点并引发UnsupportedOperationException。
在交换对方法Graph#addVertex(Object)和Graph#addVertex()的调用时也必须小心。在这种情况下,用户必须确保永远不要使用graph#addVertex(Object)方法在图中添加顶点,这些顶点将在将来由提供的顶点供应商返回。调用方法Graph#addVertex()时,这样的序列将导致IllegalArgumentException。
代码示例来源:origin: mulesoft/mule
private void addType(ErrorTypeDefinition<?> errorType,
Graph<ErrorTypeDefinition, Pair<ErrorTypeDefinition, ErrorTypeDefinition>> graph) {
graph.addVertex(errorType);
String type = errorType.getType();
if (!ANY.name().equals(type) && !CRITICAL.name().equals(type)) {
ErrorTypeDefinition parentErrorType = errorType.getParent().orElse((ANY));
graph.addVertex(parentErrorType);
graph.addEdge(errorType, parentErrorType);
}
}
代码示例来源:origin: org.jgrapht/jgrapht-core
/**
* {@inheritDoc}
*/
@Override
public boolean addVertex(V v)
{
return delegate.addVertex(v);
}
代码示例来源:origin: org.jgrapht/jgrapht-core
/**
* {@inheritDoc}
*/
@Override
public void generateGraph(Graph<V, E> target, Map<String, V> resultMap)
{
for (int i = 0; i < size; ++i) {
target.addVertex();
}
}
}
代码示例来源:origin: cwensel/cascading
public boolean addVertex( FlowElement flowElement )
{
return graph.addVertex( flowElement );
}
代码示例来源:origin: org.jgrapht/jgrapht-core
private V addVertex(Graph<V, E> targetGraph, int i)
{
if (!vertexMap.containsKey(i)) {
vertexMap.put(i, targetGraph.addVertex());
}
return vertexMap.get(i);
}
代码示例来源:origin: Audiveris/audiveris
/**
* Insert a new peak right before an existing one.
*
* @param toInsert the new peak to insert
* @param before the existing peak before which insertion must be done
*/
public void insertPeak (StaffPeak toInsert,
StaffPeak before)
{
int index = peaks.indexOf(before);
if (index == -1) {
throw new IllegalArgumentException("insertPeak() before a non-existing peak");
}
peaks.add(index, toInsert);
peakGraph.addVertex(toInsert);
}
代码示例来源:origin: org.aksw.jena-sparql-api/jena-sparql-api-algebra
public static void addEdge(org.jgrapht.Graph<Node, LabeledEdge<Node, Node>> graph, Node edgeLabel, Node source, Node target) {
graph.addVertex(source);
graph.addVertex(target);
graph.addEdge(source, target, new LabeledEdgeImpl<>(source, target, edgeLabel));
}
代码示例来源:origin: SmartDataAnalytics/jena-sparql-api
public static void addEdge(org.jgrapht.Graph<Node, LabeledEdge<Node, Node>> graph, Node edgeLabel, Node source, Node target) {
graph.addVertex(source);
graph.addVertex(target);
graph.addEdge(source, target, new LabeledEdgeImpl<>(source, target, edgeLabel));
}
代码示例来源:origin: org.jgrapht/jgrapht-core
/**
* Adds {@code vertex} to the graph being built.
*
* @param vertex the vertex to add
*
* @return this builder object
*
* @see Graph#addVertex(Object)
*/
public B addVertex(V vertex)
{
this.graph.addVertex(vertex);
return this.self();
}
代码示例来源:origin: org.jgrapht/jgrapht-core
/**
* {@inheritDoc}
*/
@Override
public V addVertex()
{
/*
* Use our own vertex supplier, if provided.
*/
if (vertexSupplier != null) {
V v = vertexSupplier.get();
return this.addVertex(v) ? v : null;
}
return delegate.addVertex();
}
代码示例来源:origin: org.jgrapht/jgrapht-core
private void generateNonSimpleRegularGraph(Graph<V, E> target)
{
List<V> vertices = new ArrayList<>(n * d);
for (int i = 0; i < n; i++) {
V vertex = target.addVertex();
for (int j = 0; j < d; j++) {
vertices.add(vertex);
}
}
Collections.shuffle(vertices, rng);
for (int i = 0; i < (n * d) / 2; i++) {
V u = vertices.get(2 * i);
V v = vertices.get(2 * i + 1);
target.addEdge(u, v);
}
}
代码示例来源:origin: cwensel/cascading
@Override
public boolean addHeadVertex( FlowElement flowElement )
{
if( !graph.containsVertex( Extent.head ) )
graph.addVertex( Extent.head );
if( flowElement == Extent.head )
return false;
boolean result = true;
if( !graph.containsVertex( flowElement ) )
result = graph.addVertex( flowElement );
return result && graph.addEdge( Extent.head, flowElement ) != null;
}
代码示例来源:origin: cwensel/cascading
@Override
public boolean addTailVertex( FlowElement flowElement )
{
if( !graph.containsVertex( Extent.tail ) )
graph.addVertex( Extent.tail );
if( flowElement == Extent.tail )
return false;
boolean result = true;
if( !graph.containsVertex( flowElement ) )
result = graph.addVertex( flowElement );
return result && graph.addEdge( flowElement, Extent.tail ) != null;
}
代码示例来源:origin: SmartDataAnalytics/jena-sparql-api
public void processPrimitivePath(Path path) {
D edgeLabel = primitivePathMapper.apply(path);
V s = vertexFactory.get();
graph.addVertex(s);
PartialNfa<V, D> partialNfa = PartialNfa.create(s, Collections.singletonList(new HalfEdge<V, D>(s, edgeLabel)));
stack.push(partialNfa);
}
代码示例来源:origin: Galigator/openllet
@Override
protected void initialize()
{
_equivalents = CollectionUtils.makeIdentityMap();
_graph = new DefaultDirectedGraph<>(DefaultEdge.class);
_graph.addVertex(TOP);
for (final ATermAppl c : _kb.getClasses())
_graph.addVertex(c);
}
代码示例来源:origin: Galigator/openllet
@Override
protected void initialize()
{
_equivalents = CollectionUtils.makeIdentityMap();
_graph = new DefaultDirectedGraph<>(DefaultEdge.class);
_graph.addVertex(TOP);
for (final ATermAppl c : _kb.getClasses())
_graph.addVertex(c);
}
代码示例来源:origin: org.mule.runtime/mule-module-extensions-support
private void addType(ErrorTypeDefinition<?> errorType,
Graph<ErrorTypeDefinition, Pair<ErrorTypeDefinition, ErrorTypeDefinition>> graph) {
graph.addVertex(errorType);
String type = errorType.getType();
if (!ANY.name().equals(type) && !CRITICAL.name().equals(type)) {
ErrorTypeDefinition parentErrorType = errorType.getParent().orElse((ANY));
graph.addVertex(parentErrorType);
graph.addEdge(errorType, parentErrorType);
}
}
代码示例来源:origin: io.github.oliviercailloux.jmcda/utils
static public <V, E> void copyTo(Graph<V, E> source, Graph<V, E> target) {
for (V vertex : source.vertexSet()) {
target.addVertex(vertex);
}
for (E edge : source.edgeSet()) {
final boolean added = target.addEdge(source.getEdgeSource(edge), source.getEdgeTarget(edge), edge);
if (!added) {
throw new IllegalArgumentException("Target graph does not support addition of (some) source edges.");
}
}
}
代码示例来源:origin: org.jgrapht/jgrapht-core
private Pair<V, Graph<V, E>> createSingleRootGraph(Graph<V, E> forest, Set<V> roots)
{
Graph<V, E> freshForest = GraphTypeBuilder.forGraph(forest).weighted(false).buildGraph();
roots.forEach(freshForest::addVertex);
V freshVertex = freshForest.addVertex();
for (V root : roots)
freshForest.addEdge(freshVertex, root);
return Pair.of(freshVertex, new AsGraphUnion<>(freshForest, forest));
}
代码示例来源:origin: SmartDataAnalytics/DL-Learner
private void buildGraph(Graph<Vertex, Edge> graph, QueryTree<N> tree){
PrefixCCMap prefixes = PrefixCCMap.getInstance();
List<QueryTree<N>> children = tree.getChildren();
Vertex parent = new Vertex(tree.getId(), prefixed(prefixes, tree.getUserObject().toString()));
graph.addVertex(parent);
for (QueryTree<N> child : children) {
Vertex childVertex = new Vertex(child.getId(), prefixed(prefixes, child.getUserObject().toString()));
graph.addVertex(childVertex);
Edge edge = new Edge(Long.parseLong(parent.getId() + "0" + childVertex.getId()), prefixed(prefixes, tree.getEdge(child).toString()));
graph.addEdge(parent, childVertex, edge);
buildGraph(graph, child);
}
}
内容来源于网络,如有侵权,请联系作者删除!